Mock Version: 2.10 Mock Version: 2.10 Mock Version: 2.10 Mock Version: 2.10 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-master-uc-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-18.3.0-0.20211214094200.c0fc88b.el9.src.rpm Child return code was: 0 Mock Version: 2.10 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-master-uc-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-18.3.0-0.20211214094200.c0fc88b.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-master-uc-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.thyevr + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-18.3.0.dev130 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-18.3.0.dev130-0.20211214094200.c0fc88b.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-18.3.0.dev130 + /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.tjTEwu + umask 022 + cd /builddir/build/BUILD + cd ironic-18.3.0.dev130 + 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/tests creating 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/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_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_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 creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_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/cmd copying ironic/cmd/status.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 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/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/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/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/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/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/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/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/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/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/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 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/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible creating build/lib/ironic/tests/unit/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/api/controllers creating build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/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/tests/unit/api creating build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_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 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/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 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/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/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_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 copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic 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/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/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 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 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/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/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/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 creating build/lib/ironic/common creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional 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/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking 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 creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/drivers/modules/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/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 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 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/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/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 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/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/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 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/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/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/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 creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf creating build/lib/ironic/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/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 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 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/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_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/drivers/raid_config_schema.json -> build/lib/ironic/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 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/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 copying ironic/drivers/modules/agent_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules creating build/lib/ironic/tests/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/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/tests/json_samples copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/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/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YncHAf + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 + cd ironic-18.3.0.dev130 + 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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9 creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/verify.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/version.py to version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-39.pyc writing byte-compilation script '/tmp/tmp9vw0xg1a.py' /usr/bin/python3 /tmp/tmp9vw0xg1a.py removing /tmp/tmp9vw0xg1a.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/python3.9/site-packages/ironic-18.3.0.dev130-py3.9.egg-info running install_scripts Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin/__pycache__ + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64//etc/ironic/ironic.conf /usr/lib/python3.9/site-packages/oslo_config/types.py:57: UserWarning: converting '3' to a string warnings.warn('converting \'%s\' to a string' % str_val) + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf + mv /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.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-18.3.0-0.20211214094200.c0fc88b.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf + /usr/lib/rpm/find-debuginfo.sh -j4 --strict-build-id -m -i --build-id-seed 18.3.0-0.20211214094200.c0fc88b.el9 --unique-debug-suffix -18.3.0-0.20211214094200.c0fc88b.el9.x86_64 --unique-debug-src-base openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/ironic-18.3.0.dev130 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-18.3.0-0.20211214094200.c0fc88b.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.0ATWoE + umask 022 + cd /builddir/build/BUILD + cd ironic-18.3.0.dev130 + 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 2021-12-14 09:44:37.911 415613 INFO alembic.runtime.migration [req-4b8d3501-31a9-41da-930a-04210cfa2bf4 - - - - -] Context impl SQLiteImpl. 2021-12-14 09:44:37.912 415613 INFO alembic.runtime.migration [req-4b8d3501-31a9-41da-930a-04210cfa2bf4 - - - - -] Will assume non-transactional DDL. {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.261529s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.021938s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.018158s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.019277s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.063728s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.032451s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.028485s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.029216s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.043304s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.023940s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.027231s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.033155s] ... ok 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_get_by_node_resource_and_id [0.026349s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.029281s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.028102s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.030281s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.031411s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.024187s] ... ok 2021-12-14 09:44:38.429 415610 INFO alembic.runtime.migration [req-0a45e8b7-1ef9-44f1-9618-989ba8b8bde0 - - - - -] Context impl SQLiteImpl. 2021-12-14 09:44:38.430 415610 INFO alembic.runtime.migration [req-0a45e8b7-1ef9-44f1-9618-989ba8b8bde0 - - - - -] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.247921s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.022675s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.061307s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.026782s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.032634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.027942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.025086s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.033194s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.042882s] ... ok DELETE: /v1/allocations/22d191c3-62ca-4229-9f41-c6e294012b85 GOT:Response: 204 No Content Openstack-Request-Id: req-5fe8975f-0c29-4e60-832e-92ca3dab8d17 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 GOT:Response: 204 No Content Openstack-Request-Id: req-cdbdbe5f-beaa-46ac-b0f7-4d699b3aed59 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-252b1788-0dcc-4d5d-bc16-bd92e2e7d1ed 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/beb1082b-e388-45f6-a687-e7af028c214c 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/c107b0aa-11b7-489b-a48a-d45606d26e88 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-54563c7e-93fe-4e63-9960-5af610e7ab06 X-Openstack-Ironic-Api-Maximum-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/node/fd338950-b762-403c-80c7-a67f8a0dca10/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations {} GOT:{'allocations': []} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': 'fcf9e2e8-8438-443a-a738-fce30d27fcff', 'created_at': '2021-12-14T09:44:38.298562+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/fcf9e2e8-8438-443a-a738-fce30d27fcff', 'rel': 'self'}, {'href': 'http://localhost/allocations/fcf9e2e8-8438-443a-a738-fce30d27fcff', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4767f62d-1ae2-477a-88a5-f31191bc4ce6', 'created_at': '2021-12-14T09:44:38.299618+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/4767f62d-1ae2-477a-88a5-f31191bc4ce6', 'rel': 'self'}, {'href': 'http://localhost/allocations/4767f62d-1ae2-477a-88a5-f31191bc4ce6', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '0b7ea6b7-94ee-4cc8-95ac-0336b4d3da5f', 'created_at': '2021-12-14T09:44:38.300620+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/0b7ea6b7-94ee-4cc8-95ac-0336b4d3da5f', 'rel': 'self'}, {'href': 'http://localhost/allocations/0b7ea6b7-94ee-4cc8-95ac-0336b4d3da5f', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/26a361cc-3220-45c8-8fdf-28f042fa8dec {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} GET: /v1/allocations/38388978-c992-47d0-97aa-48b79911fcb8?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46b49cbf-a2b8-4952-bff7-695c00e5a00b X-Openstack-Ironic-Api-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/439a0f60-484c-41ac-afaf-25eafd6f510f?fields=owner {} GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/439a0f60-484c-41ac-afaf-25eafd6f510f', 'rel': 'self'}, {'href': 'http://localhost/allocations/439a0f60-484c-41ac-afaf-25eafd6f510f', 'rel': 'bookmark'}]} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': '4166c72c-7c0e-44a8-a016-5e581a518eaf', 'created_at': '2021-12-14T09:44:38.417423+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/4166c72c-7c0e-44a8-a016-5e581a518eaf', 'rel': 'self'}, {'href': 'http://localhost/allocations/4166c72c-7c0e-44a8-a016-5e581a518eaf', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '9aed73a0-24a6-4e23-a936-98bfcf77a6c6', 'created_at': '2021-12-14T09:44:38.416439+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/9aed73a0-24a6-4e23-a936-98bfcf77a6c6', 'rel': 'self'}, {'href': 'http://localhost/allocations/9aed73a0-24a6-4e23-a936-98bfcf77a6c6', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b4433090-94ba-49f8-9aa3-6e13ca147eed', 'created_at': '2021-12-14T09:44:38.415388+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/b4433090-94ba-49f8-9aa3-6e13ca147eed', 'rel': 'self'}, {'href': 'http://localhost/allocations/b4433090-94ba-49f8-9aa3-6e13ca147eed', 'rel': 'bookmark'}], 'node_uuid': None}]} PATCH: /v1/allocations/0f444b19-4ed0-49b1-9a65-fdac302b4142 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4a04067-bcc8-4a4e-910e-fe9753441004 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "0f444b19-4ed0-49b1-9a65-fdac302b4142", "created_at": "2021-12-14T09:44:38.442678+00:00", "updated_at": "2021-12-14T09:44:38.453712+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/0f444b19-4ed0-49b1-9a65-fdac302b4142", "rel": "self"}, {"href": "http://localhost/allocations/0f444b19-4ed0-49b1-9a65-fdac302b4142", "rel": "bookmark"}], "node_uuid": null} PATCH: /v1/allocations/2e87674d-c08d-47da-8a5a-c152286c0b8d [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b84661ec-a118-447e-8062-a57a83a83f9a X-Openstack-Ironic-Api-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/055ecc6c-b4f7-4c14-a77f-f2f3f2af4668 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53c70d15-69e3-4305-88a7-52a15a945bc6 X-Openstack-Ironic-Api-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/2aff0116-8597-43f1-a82e-d31ceb127de3 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.030167s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.029746s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.033942s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.020673s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.023190s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.023324s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.022008s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.029936s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.035861s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88ca4a29-5f67-4bf2-8af1-1986e3862bbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2aff0116-8597-43f1-a82e-d31ceb127de3", "created_at": "2021-12-14T09:44:38.521450+00:00", "updated_at": "2021-12-14T09:44:38.528256+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/2aff0116-8597-43f1-a82e-d31ceb127de3", "rel": "self"}, {"href": "http://localhost/allocations/2aff0116-8597-43f1-a82e-d31ceb127de3", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/2aff0116-8597-43f1-a82e-d31ceb127de3 {} GOT:{'uuid': '2aff0116-8597-43f1-a82e-d31ceb127de3', 'created_at': '2021-12-14T09:44:38.521450+00:00', 'updated_at': '2021-12-14T09:44:38.528256+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/2aff0116-8597-43f1-a82e-d31ceb127de3', 'rel': 'self'}, {'href': 'http://localhost/allocations/2aff0116-8597-43f1-a82e-d31ceb127de3', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/76c6d0c7-f873-4a7e-88e4-840074262495 [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80363134-e649-4f0b-a727-f06ce5dd8a6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "76c6d0c7-f873-4a7e-88e4-840074262495", "created_at": "2021-12-14T09:44:38.550265+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/76c6d0c7-f873-4a7e-88e4-840074262495", "rel": "self"}, {"href": "http://localhost/allocations/76c6d0c7-f873-4a7e-88e4-840074262495", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/76c6d0c7-f873-4a7e-88e4-840074262495 {} GOT:{'uuid': '76c6d0c7-f873-4a7e-88e4-840074262495', 'created_at': '2021-12-14T09:44:38.550265+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/76c6d0c7-f873-4a7e-88e4-840074262495', 'rel': 'self'}, {'href': 'http://localhost/allocations/76c6d0c7-f873-4a7e-88e4-840074262495', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a9b923c3-eba8-4409-9503-96f35dc22024', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a9b923c3-eba8-4409-9503-96f35dc22024 Openstack-Request-Id: req-92dfacbb-f4a8-4d69-a019-f7c5d8641263 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a9b923c3-eba8-4409-9503-96f35dc22024", "created_at": "2021-12-14T09:44:38.590095+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/a9b923c3-eba8-4409-9503-96f35dc22024", "rel": "self"}, {"href": "http://localhost/allocations/a9b923c3-eba8-4409-9503-96f35dc22024", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/a9b923c3-eba8-4409-9503-96f35dc22024 {} GOT:{'uuid': 'a9b923c3-eba8-4409-9503-96f35dc22024', 'created_at': '2021-12-14T09:44:38.590095+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/a9b923c3-eba8-4409-9503-96f35dc22024', 'rel': 'self'}, {'href': 'http://localhost/allocations/a9b923c3-eba8-4409-9503-96f35dc22024', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '38680df2-fb53-4924-9cbb-5bc14cfadaf6', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69255842-f17b-4bd3-b394-02f72f2ed022 X-Openstack-Ironic-Api-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': 'c7d3889e-0d2f-4367-ae04-6239255424ea', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6051a7ec-ab14-46cb-ac6d-4edabff01be3 X-Openstack-Ironic-Api-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': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '675a1319-0b5e-4925-9f9c-3a2e981ce56f', 'owner': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-483a9c38-9f9c-47d6-af76-9f9574f3e467 X-Openstack-Ironic-Api-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, 'traits': [], 'uuid': 'a7ec1487-1495-48e4-95c6-c0096b1d4560', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-29d88121-d6e8-4418-bf5a-0afc7e3a80f3 X-Openstack-Ironic-Api-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': '8f440b73-68bd-4e98-aa2d-1a2d3ec91a0a', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a45bf8f-f8c1-4637-b46f-06e7a274537f X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'be002c1c-2620-4747-b91f-e5eca4671c5a', 'owner': None} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.035630s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.037331s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.035416s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.030882s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.027506s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.031307s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.040700s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.031642s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.026528s] ... ok 2021-12-14 09:44:38.881 415612 INFO alembic.runtime.migration [req-62fe6c89-bbaa-497e-b4f9-c6596bbc4d56 - - - - -] Context impl SQLiteImpl. 2021-12-14 09:44:38.882 415612 INFO alembic.runtime.migration [req-62fe6c89-bbaa-497e-b4f9-c6596bbc4d56 - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.028784s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.023004s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/be002c1c-2620-4747-b91f-e5eca4671c5a Openstack-Request-Id: req-76fff0dc-9579-41f5-ad2e-54c39f638f3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "be002c1c-2620-4747-b91f-e5eca4671c5a", "created_at": "2021-12-14T09:44:38.745434+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/be002c1c-2620-4747-b91f-e5eca4671c5a", "rel": "self"}, {"href": "http://localhost/allocations/be002c1c-2620-4747-b91f-e5eca4671c5a", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/be002c1c-2620-4747-b91f-e5eca4671c5a {} GOT:{'uuid': 'be002c1c-2620-4747-b91f-e5eca4671c5a', 'created_at': '2021-12-14T09:44:38.745434+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/be002c1c-2620-4747-b91f-e5eca4671c5a', 'rel': 'self'}, {'href': 'http://localhost/allocations/be002c1c-2620-4747-b91f-e5eca4671c5a', 'rel': 'bookmark'}], 'node_uuid': None} GET: /v1/chassis?fields=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/52988a67-18d8-4bf7-8c3e-dd4f7d73ea13', 'rel': 'self'}, {'href': 'http://localhost/chassis/52988a67-18d8-4bf7-8c3e-dd4f7d73ea13', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/ed294d25-90c9-4ad5-b027-87665d39183c', 'rel': 'self'}, {'href': 'http://localhost/chassis/ed294d25-90c9-4ad5-b027-87665d39183c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=ed294d25-90c9-4ad5-b027-87665d39183c'} GET: /v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0 {} GOT:{'uuid': 'eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'created_at': '2021-12-14T09:44:38.812108+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0 {} GOT:{'uuid': 'eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'created_at': '2021-12-14T09:44:38.812108+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'bookmark'}]]} GET: /chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0 {} GOT:{'uuid': 'eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'created_at': '2021-12-14T09:44:38.812108+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb7d3e2b-c19e-4af6-b7f2-c2b8a7d110e0/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '61f95842-a813-46ad-b0e6-60a82b24d2af', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/61f95842-a813-46ad-b0e6-60a82b24d2af', 'rel': 'self'}, {'href': 'http://localhost/chassis/61f95842-a813-46ad-b0e6-60a82b24d2af', 'rel': 'bookmark'}]}, {'uuid': '1bd4ffef-770e-426d-8b56-2f8bdaf931a9', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/1bd4ffef-770e-426d-8b56-2f8bdaf931a9', 'rel': 'self'}, {'href': 'http://localhost/chassis/1bd4ffef-770e-426d-8b56-2f8bdaf931a9', 'rel': 'bookmark'}]}, {'uuid': '97cea3fb-111c-4ebc-934e-4d3a05296563', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/97cea3fb-111c-4ebc-934e-4d3a05296563', 'rel': 'self'}, {'href': 'http://localhost/chassis/97cea3fb-111c-4ebc-934e-4d3a05296563', 'rel': 'bookmark'}]}, {'uuid': 'd7b7f008-3e82-4107-9e7b-5095e23ea8ec', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d7b7f008-3e82-4107-9e7b-5095e23ea8ec', 'rel': 'self'}, {'href': 'http://localhost/chassis/d7b7f008-3e82-4107-9e7b-5095e23ea8ec', 'rel': 'bookmark'}]}, {'uuid': 'ec3c873b-ff31-4c60-a5f8-56b89b91b6a7', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ec3c873b-ff31-4c60-a5f8-56b89b91b6a7', 'rel': 'self'}, {'href': 'http://localhost/chassis/ec3c873b-ff31-4c60-a5f8-56b89b91b6a7', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0699f842-9169-49d1-815b-e407b3c1ef07 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-2b024200-dd56-4c27-bf61-bc711430a763 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-beed4b3e-29c1-4258-8040-daed556b94b9 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/486f1a34-d399-416d-8014-9215994cdd0a [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a571e8d7-4ba2-4fb6-911c-fe2e7630ddd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "486f1a34-d399-416d-8014-9215994cdd0a", "created_at": "2021-12-14T09:44:38.927660+00:00", "updated_at": "2021-12-14T09:44:38.933882+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/486f1a34-d399-416d-8014-9215994cdd0a", "rel": "self"}, {"href": "http://localhost/chassis/486f1a34-d399-416d-8014-9215994cdd0a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/486f1a34-d399-416d-8014-9215994cdd0a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/486f1a34-d399-416d-8014-9215994cdd0a/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/486f1a34-d399-416d-8014-9215994cdd0a {} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.030693s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.024769s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.259370s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.035672s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.049715s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.033773s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.030709s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.028655s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-0336e536-e584-439c-a380-3c155606b76d 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/e6c64fc2-4d0e-40c7-8b34-ce8444b75d17/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aab54ca7-fa31-405b-9254-27a00f1c1a3a X-Openstack-Ironic-Api-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 e6c64fc2-4d0e-40c7-8b34-ce8444b75d17 was not 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/node/888459c5-69f0-4a9c-a6af-69f039f92bce/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': '4493e9fd-a434-4a07-b8a1-9f7c239b1cba', 'created_at': '2021-12-14T09:44:38.662280+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/4493e9fd-a434-4a07-b8a1-9f7c239b1cba', 'rel': 'self'}, {'href': 'http://localhost/allocations/4493e9fd-a434-4a07-b8a1-9f7c239b1cba', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '62032155-d15b-4602-a522-30d3a9ef1ca0', 'created_at': '2021-12-14T09:44:38.663303+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/62032155-d15b-4602-a522-30d3a9ef1ca0', 'rel': 'self'}, {'href': 'http://localhost/allocations/62032155-d15b-4602-a522-30d3a9ef1ca0', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '7fac5d34-fc1c-4d84-aa2e-212f687294ab', 'created_at': '2021-12-14T09:44:38.664297+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/7fac5d34-fc1c-4d84-aa2e-212f687294ab', 'rel': 'self'}, {'href': 'http://localhost/allocations/7fac5d34-fc1c-4d84-aa2e-212f687294ab', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=7fac5d34-fc1c-4d84-aa2e-212f687294ab'} GET: /v1/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': '97afa23a-5b0f-4af3-87cf-f04670d9348d', 'created_at': '2021-12-14T09:44:38.695191+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/97afa23a-5b0f-4af3-87cf-f04670d9348d', 'rel': 'self'}, {'href': 'http://localhost/allocations/97afa23a-5b0f-4af3-87cf-f04670d9348d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4a883fee-990d-43fc-a766-fd324828baa9', 'created_at': '2021-12-14T09:44:38.696194+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/4a883fee-990d-43fc-a766-fd324828baa9', 'rel': 'self'}, {'href': 'http://localhost/allocations/4a883fee-990d-43fc-a766-fd324828baa9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b4552022-16c2-468d-aaa2-10d879b4d399', 'created_at': '2021-12-14T09:44:38.697183+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/b4552022-16c2-468d-aaa2-10d879b4d399', 'rel': 'self'}, {'href': 'http://localhost/allocations/b4552022-16c2-468d-aaa2-10d879b4d399', '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-f4bd2cad-1d90-4740-b254-9582ff41fe5c X-Openstack-Ironic-Api-Maximum-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/allocations?owner=12345 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-02a6dfda-211c-437e-a90a-a35418a85338 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?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/da48334e-3e2b-436f-b55c-eb97566e1c30', 'rel': 'self'}, {'href': 'http://localhost/allocations/da48334e-3e2b-436f-b55c-eb97566e1c30', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/cdc3fb05-d2df-45f9-b9eb-505d0c187d20', 'rel': 'self'}, {'href': 'http://localhost/allocations/cdc3fb05-d2df-45f9-b9eb-505d0c187d20', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=cdc3fb05-d2df-45f9-b9eb-505d0c187d20'} GET: /v1/allocations/e6de549a-c804-488d-aea7-149bd923af99 {} GOT:{'uuid': 'e6de549a-c804-488d-aea7-149bd923af99', 'created_at': '2021-12-14T09:44:38.850907+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/e6de549a-c804-488d-aea7-149bd923af99', 'rel': 'self'}, {'href': 'http://localhost/allocations/e6de549a-c804-488d-aea7-149bd923af99', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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\"}"} GET: /v1/allocations/c8313fb2-4aba-4fd3-ae78-ba31d9d2618a.json {} GOT:{'uuid': 'c8313fb2-4aba-4fd3-ae78-ba31d9d2618a', 'created_at': '2021-12-14T09:44:38.906825+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/c8313fb2-4aba-4fd3-ae78-ba31d9d2618a', 'rel': 'self'}, {'href': 'http://localhost/allocations/c8313fb2-4aba-4fd3-ae78-ba31d9d2618a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/586a607e-bfd8-44aa-a820-01b5fd708d56 {} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.027994s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.023553s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.048693s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.029806s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.024079s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.015399s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.042560s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.023513s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.031994s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.025057s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.022363s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.034817s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.024101s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.028549s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.111169s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.019576s] ... ok 2021-12-14 09:44:39.216 415611 INFO alembic.runtime.migration [req-2df1479f-4974-4dd5-8ace-d0fbbd409574 - - - - -] Context impl SQLiteImpl. 2021-12-14 09:44:39.216 415611 INFO alembic.runtime.migration [req-2df1479f-4974-4dd5-8ace-d0fbbd409574 - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.038127s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.050669s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.347965s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.029072s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.045797s] ... ok GOT:{'uuid': '486f1a34-d399-416d-8014-9215994cdd0a', 'created_at': '2021-12-14T09:44:38.927660+00:00', 'updated_at': '2021-12-14T09:44:38.933882+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/486f1a34-d399-416d-8014-9215994cdd0a', 'rel': 'self'}, {'href': 'http://localhost/chassis/486f1a34-d399-416d-8014-9215994cdd0a', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/486f1a34-d399-416d-8014-9215994cdd0a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/486f1a34-d399-416d-8014-9215994cdd0a/nodes', 'rel': 'bookmark'}]]} 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-1a93dbdb-8f90-4aac-8d5f-1abbfe1aaebf 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}"} 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-a564b86f-12b2-4a5f-901b-19d0896a4ae3 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": "2021-12-14T09:44:38.984124+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': '2021-12-14T09:44:38.984124+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'}]]} 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-2b80efe6-29ff-4d69-b76b-be4016c97160 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': {'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-c8de1858-0095-42f8-8736-24fd8442c497 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": "2021-12-14T09:44:39.052731+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': '2021-12-14T09:44:39.052731+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': 'eff5526b-1a97-4e8d-a65a-a96226fa326e', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/eff5526b-1a97-4e8d-a65a-a96226fa326e', 'rel': 'self'}, {'href': 'http://localhost/conductors/eff5526b-1a97-4e8d-a65a-a96226fa326e', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '4a65569f-462f-4141-b89c-582a5ebc8362', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/4a65569f-462f-4141-b89c-582a5ebc8362', 'rel': 'self'}, {'href': 'http://localhost/conductors/4a65569f-462f-4141-b89c-582a5ebc8362', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'f39246b0-4e8c-4c69-813c-c18034bfa81e', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/f39246b0-4e8c-4c69-813c-c18034bfa81e', 'rel': 'self'}, {'href': 'http://localhost/conductors/f39246b0-4e8c-4c69-813c-c18034bfa81e', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=f39246b0-4e8c-4c69-813c-c18034bfa81e'} 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 {} 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}]} {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.029258s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.029392s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.034549s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.028490s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.027010s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.026905s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.016924s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.017410s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.031184s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.031146s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.023371s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.053148s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.028189s] ... ok GOT:{'uuid': '586a607e-bfd8-44aa-a820-01b5fd708d56', 'created_at': '2021-12-14T09:44:38.935148+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/586a607e-bfd8-44aa-a820-01b5fd708d56', 'rel': 'self'}, {'href': 'http://localhost/allocations/586a607e-bfd8-44aa-a820-01b5fd708d56', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} PATCH: /v1/allocations/8ee0c809-9cee-453b-8ab6-34e18f7a9531 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-748e9b4f-7c03-4cc5-91f1-77b32f59f71e X-Openstack-Ironic-Api-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/5fae89a4-4f10-4c32-a119-6176bd57d4a3 [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ffb5d23e-9628-458c-8a9d-9828fe3e2be4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5fae89a4-4f10-4c32-a119-6176bd57d4a3", "created_at": "2021-12-14T09:44:38.988985+00:00", "updated_at": "2021-12-14T09:44:39.003330+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5fae89a4-4f10-4c32-a119-6176bd57d4a3", "rel": "self"}, {"href": "http://localhost/allocations/5fae89a4-4f10-4c32-a119-6176bd57d4a3", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/5fae89a4-4f10-4c32-a119-6176bd57d4a3 {} GOT:{'uuid': '5fae89a4-4f10-4c32-a119-6176bd57d4a3', 'created_at': '2021-12-14T09:44:38.988985+00:00', 'updated_at': '2021-12-14T09:44:39.003330+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5fae89a4-4f10-4c32-a119-6176bd57d4a3', 'rel': 'self'}, {'href': 'http://localhost/allocations/5fae89a4-4f10-4c32-a119-6176bd57d4a3', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/d1d817a1-4d06-4e5f-82bd-95eeedfb121f [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-26588db6-af2f-4db4-b015-d56ecf02521a X-Openstack-Ironic-Api-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}"} PATCH: /v1/allocations/6a2f16be-40a3-4141-bd5b-2e52d0c743f2 [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c7ff843-ea03-4e4c-a75a-0d64bf04b140 X-Openstack-Ironic-Api-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 {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f58de041-32c0-40d2-928b-2ca5f3ed667f', 'owner': None, 'node': 'baaaca81-8f27-4c6e-af45-1eca9b118407'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c064cc5-ce56-4108-ab78-88f5cee7a679 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node baaaca81-8f27-4c6e-af45-1eca9b118407 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d9bf514-2fbb-44e9-b034-89780c058329 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 {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/140889ac-c6da-4d56-91c9-85873242fa00 Openstack-Request-Id: req-7b6fd0a9-8d66-4d10-94c7-02336df56967 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "140889ac-c6da-4d56-91c9-85873242fa00", "created_at": "2021-12-14T09:44:39.144775+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/140889ac-c6da-4d56-91c9-85873242fa00", "rel": "self"}, {"href": "http://localhost/allocations/140889ac-c6da-4d56-91c9-85873242fa00", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/140889ac-c6da-4d56-91c9-85873242fa00 {} GOT:{'uuid': '140889ac-c6da-4d56-91c9-85873242fa00', 'created_at': '2021-12-14T09:44:39.144775+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/140889ac-c6da-4d56-91c9-85873242fa00', 'rel': 'self'}, {'href': 'http://localhost/allocations/140889ac-c6da-4d56-91c9-85873242fa00', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'af9b6c21-d351-4c44-b75a-01599b783be8', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/af9b6c21-d351-4c44-b75a-01599b783be8 Openstack-Request-Id: req-86451a15-69fa-4543-a29a-0f7441b3ac12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "af9b6c21-d351-4c44-b75a-01599b783be8", "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/af9b6c21-d351-4c44-b75a-01599b783be8", "rel": "self"}, {"href": "http://localhost/allocations/af9b6c21-d351-4c44-b75a-01599b783be8", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/af9b6c21-d351-4c44-b75a-01599b783be8 {} GOT:{'uuid': 'af9b6c21-d351-4c44-b75a-01599b783be8', '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/af9b6c21-d351-4c44-b75a-01599b783be8', 'rel': 'self'}, {'href': 'http://localhost/allocations/af9b6c21-d351-4c44-b75a-01599b783be8', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4f037ef5-d47e-49d9-84e9-bcbf0f4d2b96', '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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.023139s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.027566s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.036127s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.034964s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.023116s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.031582s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.026593s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.027887s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.048413s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.049448s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.023928s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.036556s] ... ok GET: /v1/conductors?sort_key=hostname {} GOT:{'conductors': [{'hostname': '32a94ff8-2190-4b4a-91ee-bd25af3636fa', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/32a94ff8-2190-4b4a-91ee-bd25af3636fa', 'rel': 'self'}, {'href': 'http://localhost/conductors/32a94ff8-2190-4b4a-91ee-bd25af3636fa', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5a9d5794-6826-48c6-8931-b9fc477c5520', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5a9d5794-6826-48c6-8931-b9fc477c5520', 'rel': 'self'}, {'href': 'http://localhost/conductors/5a9d5794-6826-48c6-8931-b9fc477c5520', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '82d5b810-6848-446a-9e7a-e5caf7286891', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/82d5b810-6848-446a-9e7a-e5caf7286891', 'rel': 'self'}, {'href': 'http://localhost/conductors/82d5b810-6848-446a-9e7a-e5caf7286891', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'db580567-a0bf-421d-a68a-892a11a0e976', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/db580567-a0bf-421d-a68a-892a11a0e976', 'rel': 'self'}, {'href': 'http://localhost/conductors/db580567-a0bf-421d-a68a-892a11a0e976', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'e7b83be6-9da0-4b33-862c-1fc7e46e7f29', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/e7b83be6-9da0-4b33-862c-1fc7e46e7f29', 'rel': 'self'}, {'href': 'http://localhost/conductors/e7b83be6-9da0-4b33-862c-1fc7e46e7f29', 'rel': 'bookmark'}], 'alive': True}]} DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-56a08809-5c1e-4890-b445-f2039547e2a8 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 {} GOT:{'deploy_templates': [{'uuid': 'f77dc378-0200-4614-9d96-1b93e21ad174', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/f77dc378-0200-4614-9d96-1b93e21ad174', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f77dc378-0200-4614-9d96-1b93e21ad174', 'rel': 'bookmark'}]}, {'uuid': '860c2929-ac19-4c8b-ba94-45106b4f5373', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/860c2929-ac19-4c8b-ba94-45106b4f5373', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/860c2929-ac19-4c8b-ba94-45106b4f5373', 'rel': 'bookmark'}]}, {'uuid': '583f868d-29ab-485d-81fb-55130b086335', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/583f868d-29ab-485d-81fb-55130b086335', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/583f868d-29ab-485d-81fb-55130b086335', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=583f868d-29ab-485d-81fb-55130b086335'} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': 'ccb67b5b-4363-4da3-bf12-b9b202149d95', 'links': [{'href': 'http://localhost/v1/deploy_templates/ccb67b5b-4363-4da3-bf12-b9b202149d95', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ccb67b5b-4363-4da3-bf12-b9b202149d95', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '5a0d5bd9-58a0-4ab9-864f-388cd5d5709c', 'links': [{'href': 'http://localhost/v1/deploy_templates/5a0d5bd9-58a0-4ab9-864f-388cd5d5709c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5a0d5bd9-58a0-4ab9-864f-388cd5d5709c', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '4783a91b-e3d5-4f0a-ac3e-04a7b8fcc57a', 'links': [{'href': 'http://localhost/v1/deploy_templates/4783a91b-e3d5-4f0a-ac3e-04a7b8fcc57a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4783a91b-e3d5-4f0a-ac3e-04a7b8fcc57a', '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/2e27a224-dd33-477e-892f-6cfd785d18a8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2e27a224-dd33-477e-892f-6cfd785d18a8', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7d306e16-3129-4efe-9a1a-ce2c6607ab54', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7d306e16-3129-4efe-9a1a-ce2c6607ab54', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=7d306e16-3129-4efe-9a1a-ce2c6607ab54'} GET: /v1/deploy_templates/aded102b-2c7a-4e5e-b59c-fd49f139ebe5.json {} GOT:{'uuid': 'aded102b-2c7a-4e5e-b59c-fd49f139ebe5', 'created_at': '2021-12-14T09:44:39.321936+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/aded102b-2c7a-4e5e-b59c-fd49f139ebe5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/aded102b-2c7a-4e5e-b59c-fd49f139ebe5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'ec89305c-bc22-4751-8101-75292cc1eb95', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/ec89305c-bc22-4751-8101-75292cc1eb95', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ec89305c-bc22-4751-8101-75292cc1eb95', 'rel': 'bookmark'}]}, {'uuid': 'a7cc220a-1d9b-4fcc-a7f4-2eda2f7a24d1', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a7cc220a-1d9b-4fcc-a7f4-2eda2f7a24d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a7cc220a-1d9b-4fcc-a7f4-2eda2f7a24d1', 'rel': 'bookmark'}]}, {'uuid': 'eecaa2ac-62d1-4a33-bdf2-1355a6130502', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/eecaa2ac-62d1-4a33-bdf2-1355a6130502', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/eecaa2ac-62d1-4a33-bdf2-1355a6130502', 'rel': 'bookmark'}]}, {'uuid': 'da8a67b6-7bed-4522-b5f3-9fccbf5647f8', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/da8a67b6-7bed-4522-b5f3-9fccbf5647f8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/da8a67b6-7bed-4522-b5f3-9fccbf5647f8', 'rel': 'bookmark'}]}, {'uuid': 'cbee3691-c626-4e40-a999-e119330f86ad', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/cbee3691-c626-4e40-a999-e119330f86ad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cbee3691-c626-4e40-a999-e119330f86ad', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/1e0958a4-2789-4e40-8f8d-0de763f6065c {} GOT:{'uuid': '1e0958a4-2789-4e40-8f8d-0de763f6065c', 'created_at': '2021-12-14T09:44:39.379418+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/1e0958a4-2789-4e40-8f8d-0de763f6065c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1e0958a4-2789-4e40-8f8d-0de763f6065c', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-513a8d6b-982c-4e65-8bcc-1c49345ba16b X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.023671s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.030929s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.057824s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.052429s] ... ok POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '3f334dc8-61a7-418b-a312-7dee2017a7bb', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bc443b7-5994-40a4-bdc2-32293781910e X-Openstack-Ironic-Api-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': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '3dddec10-5b08-4875-b4ca-ef804cd9611c', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3dddec10-5b08-4875-b4ca-ef804cd9611c Openstack-Request-Id: req-a167b5aa-8581-47e0-8199-32ef0f4cc94d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3dddec10-5b08-4875-b4ca-ef804cd9611c", "created_at": "2021-12-14T09:44:39.246955+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/3dddec10-5b08-4875-b4ca-ef804cd9611c", "rel": "self"}, {"href": "http://localhost/allocations/3dddec10-5b08-4875-b4ca-ef804cd9611c", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/3dddec10-5b08-4875-b4ca-ef804cd9611c {} GOT:{'uuid': '3dddec10-5b08-4875-b4ca-ef804cd9611c', 'created_at': '2021-12-14T09:44:39.246955+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/3dddec10-5b08-4875-b4ca-ef804cd9611c', 'rel': 'self'}, {'href': 'http://localhost/allocations/3dddec10-5b08-4875-b4ca-ef804cd9611c', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f0742fc7-d491-444f-8a51-071329d4c28e', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/f0742fc7-d491-444f-8a51-071329d4c28e Openstack-Request-Id: req-49bcb8a2-f1b6-4d9b-92e2-c75ab4cf1190 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f0742fc7-d491-444f-8a51-071329d4c28e", "created_at": "2021-12-14T09:44:39.282135+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/f0742fc7-d491-444f-8a51-071329d4c28e", "rel": "self"}, {"href": "http://localhost/allocations/f0742fc7-d491-444f-8a51-071329d4c28e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/f0742fc7-d491-444f-8a51-071329d4c28e {} GOT:{'uuid': 'f0742fc7-d491-444f-8a51-071329d4c28e', 'created_at': '2021-12-14T09:44:39.282135+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/f0742fc7-d491-444f-8a51-071329d4c28e', 'rel': 'self'}, {'href': 'http://localhost/allocations/f0742fc7-d491-444f-8a51-071329d4c28e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '91358811-f141-49c6-8c6f-293073599d2b', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fef9e969-4f6d-4fcf-94ba-33e92e9ebf4c X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4f60ac3a-940f-47e7-bd28-ac8889816ea4', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/4f60ac3a-940f-47e7-bd28-ac8889816ea4 Openstack-Request-Id: req-f92f8f05-5db8-4784-8cf3-4c079eaa9122 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4f60ac3a-940f-47e7-bd28-ac8889816ea4", "created_at": "2021-12-14T09:44:39.345388+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/4f60ac3a-940f-47e7-bd28-ac8889816ea4", "rel": "self"}, {"href": "http://localhost/allocations/4f60ac3a-940f-47e7-bd28-ac8889816ea4", "rel": "bookmark"}], "node_uuid": null} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '92c73f38-e8e5-4e3f-8877-200645d81dc7', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/92c73f38-e8e5-4e3f-8877-200645d81dc7 Openstack-Request-Id: req-8f8f1d5f-20e6-4ad5-b506-35103587caf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "92c73f38-e8e5-4e3f-8877-200645d81dc7", "created_at": "2021-12-14T09:44:39.373221+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/92c73f38-e8e5-4e3f-8877-200645d81dc7", "rel": "self"}, {"href": "http://localhost/allocations/92c73f38-e8e5-4e3f-8877-200645d81dc7", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/92c73f38-e8e5-4e3f-8877-200645d81dc7 {} GOT:{'uuid': '92c73f38-e8e5-4e3f-8877-200645d81dc7', 'created_at': '2021-12-14T09:44:39.373221+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/92c73f38-e8e5-4e3f-8877-200645d81dc7', 'rel': 'self'}, {'href': 'http://localhost/allocations/92c73f38-e8e5-4e3f-8877-200645d81dc7', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f Openstack-Request-Id: req-0440f138-aa82-46c8-8e2a-19626425d089 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f", "created_at": "2021-12-14T09:44:39.404999+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/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f", "rel": "self"}, {"href": "http://localhost/allocations/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f {} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.043369s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.022956s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.032156s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.021289s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.026167s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.037476s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.035074s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.039955s] ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f0012b38-5cf4-46f8-b8bf-5a2645ba2ed3 X-Openstack-Ironic-Api-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}"} GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-605476e1-a7e4-4513-be11-bbac0d8a55ec 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/81ec6359-a0a4-427b-bb51-3635e0da3fef {} GOT:{'uuid': '81ec6359-a0a4-427b-bb51-3635e0da3fef', 'created_at': '2021-12-14T09:44:39.253869+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/81ec6359-a0a4-427b-bb51-3635e0da3fef', 'rel': 'self'}, {'href': 'http://localhost/allocations/81ec6359-a0a4-427b-bb51-3635e0da3fef', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '4fc6e83f-2ec3-4adb-8f2d-984c1fcdd0a9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/4fc6e83f-2ec3-4adb-8f2d-984c1fcdd0a9', 'rel': 'self'}, {'href': 'http://localhost/allocations/4fc6e83f-2ec3-4adb-8f2d-984c1fcdd0a9', 'rel': 'bookmark'}]}, {'uuid': 'fb92defd-1ef8-47bb-9e43-70fe22a45481', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/fb92defd-1ef8-47bb-9e43-70fe22a45481', 'rel': 'self'}, {'href': 'http://localhost/allocations/fb92defd-1ef8-47bb-9e43-70fe22a45481', 'rel': 'bookmark'}]}, {'uuid': '7e37c204-811e-438b-8cc2-425b716f718e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7e37c204-811e-438b-8cc2-425b716f718e', 'rel': 'self'}, {'href': 'http://localhost/allocations/7e37c204-811e-438b-8cc2-425b716f718e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=7e37c204-811e-438b-8cc2-425b716f718e'} GET: /v1/allocations?owner=12345 {} GOT:{'allocations': [{'uuid': '3b3a7b50-0a08-4a05-9e64-f4a71db838ab', 'created_at': '2021-12-14T09:44:39.344919+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/3b3a7b50-0a08-4a05-9e64-f4a71db838ab', 'rel': 'self'}, {'href': 'http://localhost/allocations/3b3a7b50-0a08-4a05-9e64-f4a71db838ab', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '594be22e-22bd-42ff-80d2-553849605cc2', 'created_at': '2021-12-14T09:44:39.345963+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/594be22e-22bd-42ff-80d2-553849605cc2', 'rel': 'self'}, {'href': 'http://localhost/allocations/594be22e-22bd-42ff-80d2-553849605cc2', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '073dd908-ccc9-41bd-a21f-3aa7eb0aa883', 'created_at': '2021-12-14T09:44:39.346934+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/073dd908-ccc9-41bd-a21f-3aa7eb0aa883', 'rel': 'self'}, {'href': 'http://localhost/allocations/073dd908-ccc9-41bd-a21f-3aa7eb0aa883', 'rel': 'bookmark'}], 'node_uuid': None}]} 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/a3fafa01-8b3c-4d26-acaa-1765c49bf75f {} 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': 'e3dcddd6-e2ff-4422-9df8-72f7cdf141d8', 'created_at': '2021-12-14T09:44:39.431974+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/e3dcddd6-e2ff-4422-9df8-72f7cdf141d8', 'rel': 'self'}, {'href': 'http://localhost/allocations/e3dcddd6-e2ff-4422-9df8-72f7cdf141d8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c719c428-63bf-425d-96a4-4a8b68be2a57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "created_at": "2021-12-14T09:44:39.462618+00:00", "updated_at": "2021-12-14T09:44:39.471251+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/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "rel": "self"}, {"href": "http://localhost/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b {} GOT:{'uuid': 'f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'created_at': '2021-12-14T09:44:39.462618+00:00', 'updated_at': '2021-12-14T09:44:39.471251+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/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'rel': 'self'}, {'href': 'http://localhost/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b80caba-b524-47ab-961b-27eb6bfe0cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "created_at": "2021-12-14T09:44:39.462618+00:00", "updated_at": "2021-12-14T09:44:39.482038+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "rel": "self"}, {"href": "http://localhost/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b {} GOT:{'uuid': 'f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'created_at': '2021-12-14T09:44:39.462618+00:00', 'updated_at': '2021-12-14T09:44:39.482038+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'rel': 'self'}, {'href': 'http://localhost/allocations/f50cd3d6-b90a-4c15-86ae-bab3ef4d235b', 'rel': 'bookmark'}], 'node_uuid': None} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.035655s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.023014s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.033900s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.034608s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.042526s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.025764s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.030638s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.022379s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.027667s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.032408s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.021402s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.019857s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.038078s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.028711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.027228s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.019994s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.028397s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.033188s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5393328-683e-44f8-a6fb-3084ee5a4cfc X-Openstack-Ironic-Api-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-7d415e94-fe8d-4bba-89b1-693dcf9167ea X-Openstack-Ironic-Api-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/4fe2d8ae-8ce5-4abf-96c2-dac8e62c76fd [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b32c6742-abd1-4471-a8e0-e91e131e71cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4fe2d8ae-8ce5-4abf-96c2-dac8e62c76fd", "created_at": "2021-12-14T09:44:39.428092+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4fe2d8ae-8ce5-4abf-96c2-dac8e62c76fd", "rel": "self"}, {"href": "http://localhost/deploy_templates/4fe2d8ae-8ce5-4abf-96c2-dac8e62c76fd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} PATCH: /v1/deploy_templates/b0c6b1d2-a18e-4992-9dfe-734880592bc5 [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03451fbc-c34a-4551-a315-a1d3bf9f0b50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b0c6b1d2-a18e-4992-9dfe-734880592bc5", "created_at": "2021-12-14T09:44:39.468279+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b0c6b1d2-a18e-4992-9dfe-734880592bc5", "rel": "self"}, {"href": "http://localhost/deploy_templates/b0c6b1d2-a18e-4992-9dfe-734880592bc5", "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 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a016097-89cf-42cb-8e44-8cc485f3d85c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "426e5e39-99ea-4443-a970-b6069736a2fb", "created_at": "2021-12-14T09:44:39.532363+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/426e5e39-99ea-4443-a970-b6069736a2fb", "rel": "self"}, {"href": "http://localhost/deploy_templates/426e5e39-99ea-4443-a970-b6069736a2fb", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '11970130-5860-48d5-b1e7-2062602b2e09', '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/11970130-5860-48d5-b1e7-2062602b2e09 Openstack-Request-Id: req-ae586375-cd94-4001-b974-92a6dd7c3df0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "11970130-5860-48d5-b1e7-2062602b2e09", "created_at": "2021-12-14T09:44:39.584491+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/11970130-5860-48d5-b1e7-2062602b2e09", "rel": "self"}, {"href": "http://localhost/deploy_templates/11970130-5860-48d5-b1e7-2062602b2e09", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/11970130-5860-48d5-b1e7-2062602b2e09 {} GOT:{'uuid': '11970130-5860-48d5-b1e7-2062602b2e09', 'created_at': '2021-12-14T09:44:39.584491+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/11970130-5860-48d5-b1e7-2062602b2e09', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/11970130-5860-48d5-b1e7-2062602b2e09', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cdf76412-7433-4cbc-9e07-3e4d6934bb8f', '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': 'CUSTOM_DT1', 'uuid': 'a7c06111-ff30-47fb-ab2d-d6f6bcfb4248', 'steps': [], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5395631-2b4c-4ed4-92fc-8809064691aa X-Openstack-Ironic-Api-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 Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9618b4f4-df2b-43b6-9548-5bbede26fd5f', '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-cbe4138f-80a8-42b1-9418-8c592e7807ac X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '230863fb-87dd-4c8c-91c2-35003116031d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0959bc16-a437-49d6-9427-60246fe80250 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.020097s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.023337s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.031779s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.030683s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.020318s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.026976s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.020823s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.027621s] ... ok PATCH: /v1/allocations/8dd067ce-c272-4b66-bd92-6e028f0a8ef7 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b21b8166-0278-4c5e-8233-011162241c0a X-Openstack-Ironic-Api-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/b79169f5-8af8-4784-b134-876809c3fb35 [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-591ce45b-c9d6-4209-a116-28422a89713e X-Openstack-Ironic-Api-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 b79169f5-8af8-4784-b134-876809c3fb35 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3d1c427e-83ea-4970-873e-e21114e98895 Openstack-Request-Id: req-b5c9eae6-4ce2-4797-9e5d-e15971db331e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3d1c427e-83ea-4970-873e-e21114e98895", "created_at": "2021-12-14T09:44:39.574557+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/3d1c427e-83ea-4970-873e-e21114e98895", "rel": "self"}, {"href": "http://localhost/allocations/3d1c427e-83ea-4970-873e-e21114e98895", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/3d1c427e-83ea-4970-873e-e21114e98895 {} GOT:{'uuid': '3d1c427e-83ea-4970-873e-e21114e98895', 'created_at': '2021-12-14T09:44:39.574557+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/3d1c427e-83ea-4970-873e-e21114e98895', 'rel': 'self'}, {'href': 'http://localhost/allocations/3d1c427e-83ea-4970-873e-e21114e98895', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': 'e97e646d-2caa-4fdb-91f5-030b081a0d02', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b995028b-17e6-4faf-b7db-1e6331de7da6 X-Openstack-Ironic-Api-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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef Openstack-Request-Id: req-f7a3a13f-7b0c-4a8c-ae21-66878974438a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef", "created_at": "2021-12-14T09:44:39.637665+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/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef", "rel": "self"}, {"href": "http://localhost/allocations/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef {} GOT:{'uuid': '6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef', 'created_at': '2021-12-14T09:44:39.637665+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/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef', 'rel': 'self'}, {'href': 'http://localhost/allocations/6d766c2a-7019-4c7d-a73f-c33c5cdbe9ef', 'rel': 'bookmark'}], 'node_uuid': None} 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': '891ab99b-396c-4abe-be4e-0939d180639a', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/891ab99b-396c-4abe-be4e-0939d180639a Openstack-Request-Id: req-95d08991-9ed5-4d5a-a5db-fd5ae3023f60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "891ab99b-396c-4abe-be4e-0939d180639a", "created_at": "2021-12-14T09:44:39.665347+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/891ab99b-396c-4abe-be4e-0939d180639a", "rel": "self"}, {"href": "http://localhost/allocations/891ab99b-396c-4abe-be4e-0939d180639a", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/891ab99b-396c-4abe-be4e-0939d180639a {} GOT:{'uuid': '891ab99b-396c-4abe-be4e-0939d180639a', 'created_at': '2021-12-14T09:44:39.665347+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/891ab99b-396c-4abe-be4e-0939d180639a', 'rel': 'self'}, {'href': 'http://localhost/allocations/891ab99b-396c-4abe-be4e-0939d180639a', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '083df571-3e65-407b-8690-7b97b9801b9e', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/083df571-3e65-407b-8690-7b97b9801b9e Openstack-Request-Id: req-6259f3c1-7d0d-4419-bfb3-3803d0a31f99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "083df571-3e65-407b-8690-7b97b9801b9e", "created_at": "2021-12-14T09:44:39.698729+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/083df571-3e65-407b-8690-7b97b9801b9e", "rel": "self"}, {"href": "http://localhost/allocations/083df571-3e65-407b-8690-7b97b9801b9e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/083df571-3e65-407b-8690-7b97b9801b9e {} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.037408s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.035553s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.030847s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.046487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.045710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.031687s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.031986s] ... ok 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/nodes/1e77fe42-9b82-4f3b-8c24-b736b77c8f92/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2bc149cb-2592-41bd-ac36-0cee98ad8a99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1e77fe42-9b82-4f3b-8c24-b736b77c8f92 could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations?owner=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-506c7403-f465-4fd3-a4f5-70a6b3a92ddd 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-b8d4313f-7859-4810-b8ae-0afe4743faaf 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/allocations {} GOT:{'allocations': [{'uuid': '4f2304f0-fc57-4151-a42b-00915bcfece2', 'created_at': '2021-12-14T09:44:39.526048+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/4f2304f0-fc57-4151-a42b-00915bcfece2', 'rel': 'self'}, {'href': 'http://localhost/allocations/4f2304f0-fc57-4151-a42b-00915bcfece2', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'a6f15713-0439-47e7-b425-7673233f47bf', 'created_at': '2021-12-14T09:44:39.527200+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/a6f15713-0439-47e7-b425-7673233f47bf', 'rel': 'self'}, {'href': 'http://localhost/allocations/a6f15713-0439-47e7-b425-7673233f47bf', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '323c7e73-70eb-4dda-b089-fc3b4c9d74d3', 'created_at': '2021-12-14T09:44:39.528219+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/323c7e73-70eb-4dda-b089-fc3b4c9d74d3', 'rel': 'self'}, {'href': 'http://localhost/allocations/323c7e73-70eb-4dda-b089-fc3b4c9d74d3', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '31dd2872-301f-4f64-89c3-d0aa57d1bd13', 'created_at': '2021-12-14T09:44:39.529210+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/31dd2872-301f-4f64-89c3-d0aa57d1bd13', 'rel': 'self'}, {'href': 'http://localhost/allocations/31dd2872-301f-4f64-89c3-d0aa57d1bd13', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '2dd2e46a-432d-4d27-a4b0-d359cf42a2c8', 'created_at': '2021-12-14T09:44:39.530184+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/2dd2e46a-432d-4d27-a4b0-d359cf42a2c8', 'rel': 'self'}, {'href': 'http://localhost/allocations/2dd2e46a-432d-4d27-a4b0-d359cf42a2c8', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations/7f560384-c432-4d68-a3e0-e64c6a949d60 {} GOT:{'uuid': '7f560384-c432-4d68-a3e0-e64c6a949d60', 'created_at': '2021-12-14T09:44:39.565323+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/7f560384-c432-4d68-a3e0-e64c6a949d60', 'rel': 'self'}, {'href': 'http://localhost/allocations/7f560384-c432-4d68-a3e0-e64c6a949d60', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/7f560384-c432-4d68-a3e0-e64c6a949d60 {} GOT:{'uuid': '7f560384-c432-4d68-a3e0-e64c6a949d60', 'created_at': '2021-12-14T09:44:39.565323+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/7f560384-c432-4d68-a3e0-e64c6a949d60', 'rel': 'self'}, {'href': 'http://localhost/allocations/7f560384-c432-4d68-a3e0-e64c6a949d60', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/964112c2-5b9a-46a5-b2bd-384e6cc0168a {} GOT:{'uuid': '964112c2-5b9a-46a5-b2bd-384e6cc0168a', 'created_at': '2021-12-14T09:44:39.601949+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/964112c2-5b9a-46a5-b2bd-384e6cc0168a', 'rel': 'self'}, {'href': 'http://localhost/allocations/964112c2-5b9a-46a5-b2bd-384e6cc0168a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '6c340339-fc96-4528-826d-86a2352067ce', 'created_at': '2021-12-14T09:44:39.630743+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/6c340339-fc96-4528-826d-86a2352067ce', 'rel': 'self'}, {'href': 'http://localhost/allocations/6c340339-fc96-4528-826d-86a2352067ce', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '6dfc9b99-f2fb-4362-8173-0a5e5f70ef96', 'created_at': '2021-12-14T09:44:39.631763+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/6dfc9b99-f2fb-4362-8173-0a5e5f70ef96', 'rel': 'self'}, {'href': 'http://localhost/allocations/6dfc9b99-f2fb-4362-8173-0a5e5f70ef96', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '16041cda-9a14-44e2-9b1d-48201488d5a3', 'created_at': '2021-12-14T09:44:39.632780+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/16041cda-9a14-44e2-9b1d-48201488d5a3', 'rel': 'self'}, {'href': 'http://localhost/allocations/16041cda-9a14-44e2-9b1d-48201488d5a3', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=16041cda-9a14-44e2-9b1d-48201488d5a3'} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': 'a72309a4-f5f2-42c4-8f8f-4245f195361f', 'created_at': '2021-12-14T09:44:39.663956+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/a72309a4-f5f2-42c4-8f8f-4245f195361f', 'rel': 'self'}, {'href': 'http://localhost/allocations/a72309a4-f5f2-42c4-8f8f-4245f195361f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.044081s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.044754s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.047949s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.037655s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.048871s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.035706s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.047479s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.040934s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.022421s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.041964s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.029578s] ... ok GOT:{'uuid': '2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f', 'created_at': '2021-12-14T09:44:39.404999+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/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e3edc2d-3afa-4cdd-bf8c-3aa1763df78f', 'rel': 'bookmark'}], 'node_uuid': None} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-66fe09e4-5347-47fb-be2b-ae38c3a4618d 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/detail {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2021-12-14T09:44:39.472007+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/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28c3168f-dfd3-4c2a-9783-e76d04750830 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?fields=uuid,extra {} GOT:{'chassis': [{'uuid': 'd2c8084f-8a5b-4761-9ede-879c17499c85', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/d2c8084f-8a5b-4761-9ede-879c17499c85', 'rel': 'self'}, {'href': 'http://localhost/chassis/d2c8084f-8a5b-4761-9ede-879c17499c85', 'rel': 'bookmark'}]}, {'uuid': '3fd32258-db2c-4ade-b2fb-ad960632cf3a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/3fd32258-db2c-4ade-b2fb-ad960632cf3a', 'rel': 'self'}, {'href': 'http://localhost/chassis/3fd32258-db2c-4ade-b2fb-ad960632cf3a', 'rel': 'bookmark'}]}, {'uuid': 'ab0b8a8c-c980-4e7a-92bd-3a412345ead9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/ab0b8a8c-c980-4e7a-92bd-3a412345ead9', 'rel': 'self'}, {'href': 'http://localhost/chassis/ab0b8a8c-c980-4e7a-92bd-3a412345ead9', '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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d4a70672-df17-4fc1-8ff7-7c7facdc2d6e 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}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2021-12-14T09:44:39.609336+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'}]]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a7963edf-93f3-4a31-9b29-47846612aa16 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": "2021-12-14T09:44:39.639329+00:00", "updated_at": "2021-12-14T09:44:39.647273+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': '2021-12-14T09:44:39.639329+00:00', 'updated_at': '2021-12-14T09:44:39.647273+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-5812411b-0536-4e0a-804d-dc53197166dd 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": "2021-12-14T09:44:39.671945+00:00", "updated_at": "2021-12-14T09:44:39.679203+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"}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-1c925b40-70a7-4f69-909b-71b77461ec95 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": "2021-12-14T09:44:39.704609+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 {} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.036583s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.025800s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.031266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.025187s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.030273s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.023138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.033673s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.035640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.049845s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.042065s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.056367s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.028066s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.031476s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.020838s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.038037s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.027747s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.044260s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.024513s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.020539s] ... ok GOT:{'uuid': '083df571-3e65-407b-8690-7b97b9801b9e', 'created_at': '2021-12-14T09:44:39.698729+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/083df571-3e65-407b-8690-7b97b9801b9e', 'rel': 'self'}, {'href': 'http://localhost/allocations/083df571-3e65-407b-8690-7b97b9801b9e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '07d1f703-322a-44b7-9159-66dbff0da69e'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/07d1f703-322a-44b7-9159-66dbff0da69e Openstack-Request-Id: req-4b1543d8-39c3-41aa-a26a-7dd0b4bca68a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "07d1f703-322a-44b7-9159-66dbff0da69e", "created_at": "2021-12-14T09:44:39.736909+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/07d1f703-322a-44b7-9159-66dbff0da69e", "rel": "self"}, {"href": "http://localhost/allocations/07d1f703-322a-44b7-9159-66dbff0da69e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/07d1f703-322a-44b7-9159-66dbff0da69e {} GOT:{'uuid': '07d1f703-322a-44b7-9159-66dbff0da69e', 'created_at': '2021-12-14T09:44:39.736909+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/07d1f703-322a-44b7-9159-66dbff0da69e', 'rel': 'self'}, {'href': 'http://localhost/allocations/07d1f703-322a-44b7-9159-66dbff0da69e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b7e0365c-6221-4d11-bc43-4d883d54096a', 'owner': '54321'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a9a10abb-f43a-494f-9c74-d389bca3542c 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}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-a41e5747-1618-46e0-a591-89b487799830 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-da777c9b-7392-4dc2-8ba5-6bd035dc884b 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/?limit=3 {} GOT:{'chassis': [{'uuid': '94021540-8a32-40c8-9553-63e48bd47604', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/94021540-8a32-40c8-9553-63e48bd47604', 'rel': 'self'}, {'href': 'http://localhost/chassis/94021540-8a32-40c8-9553-63e48bd47604', 'rel': 'bookmark'}]}, {'uuid': '89a9874b-f214-4d64-bbcf-425ae3e8414f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/89a9874b-f214-4d64-bbcf-425ae3e8414f', 'rel': 'self'}, {'href': 'http://localhost/chassis/89a9874b-f214-4d64-bbcf-425ae3e8414f', 'rel': 'bookmark'}]}, {'uuid': 'edddefb5-9ef0-4335-bc8a-4adb9d972ec3', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/edddefb5-9ef0-4335-bc8a-4adb9d972ec3', 'rel': 'self'}, {'href': 'http://localhost/chassis/edddefb5-9ef0-4335-bc8a-4adb9d972ec3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=edddefb5-9ef0-4335-bc8a-4adb9d972ec3'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '94a222cb-9ed0-4916-977b-29d6d92dffcc', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/94a222cb-9ed0-4916-977b-29d6d92dffcc', 'rel': 'self'}, {'href': 'http://localhost/chassis/94a222cb-9ed0-4916-977b-29d6d92dffcc', 'rel': 'bookmark'}]}, {'uuid': 'a1471d16-ff80-48b9-8c60-1a161f148dc6', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/a1471d16-ff80-48b9-8c60-1a161f148dc6', 'rel': 'self'}, {'href': 'http://localhost/chassis/a1471d16-ff80-48b9-8c60-1a161f148dc6', 'rel': 'bookmark'}]}, {'uuid': '86ba7cb7-be70-48af-bd69-556dfe796ecd', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/86ba7cb7-be70-48af-bd69-556dfe796ecd', 'rel': 'self'}, {'href': 'http://localhost/chassis/86ba7cb7-be70-48af-bd69-556dfe796ecd', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=86ba7cb7-be70-48af-bd69-556dfe796ecd'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=False {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2aca6d96-0361-4c48-a168-e91b3ac210e9 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}"} GET: /v1/chassis?sort_key=uuid {} GOT:{'chassis': [{'uuid': '133a6558-5d98-4f63-947c-8b8932eafdfa', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/133a6558-5d98-4f63-947c-8b8932eafdfa', 'rel': 'self'}, {'href': 'http://localhost/chassis/133a6558-5d98-4f63-947c-8b8932eafdfa', 'rel': 'bookmark'}]}, {'uuid': '4ca638ea-dc23-4ae6-bd92-5ed701c37afc', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/4ca638ea-dc23-4ae6-bd92-5ed701c37afc', 'rel': 'self'}, {'href': 'http://localhost/chassis/4ca638ea-dc23-4ae6-bd92-5ed701c37afc', 'rel': 'bookmark'}]}, {'uuid': '9aa70284-dbe5-4bba-80c8-d48bd179a846', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/9aa70284-dbe5-4bba-80c8-d48bd179a846', 'rel': 'self'}, {'href': 'http://localhost/chassis/9aa70284-dbe5-4bba-80c8-d48bd179a846', 'rel': 'bookmark'}]}]} 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-d6901f7f-e123-47af-8fb6-c8c5cd13bd18 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/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57 [{'path': '/extra/foo2', 'op': 'remove'}] GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': 'cec82260-6aa6-49e0-abb1-ec1cf79c0fa8', 'created_at': '2021-12-14T09:44:39.709141+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/cec82260-6aa6-49e0-abb1-ec1cf79c0fa8', 'rel': 'self'}, {'href': 'http://localhost/allocations/cec82260-6aa6-49e0-abb1-ec1cf79c0fa8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/afc2ff94-2bcd-4016-9ed3-ca52480b2aad', 'rel': 'self'}, {'href': 'http://localhost/allocations/afc2ff94-2bcd-4016-9ed3-ca52480b2aad', 'rel': 'bookmark'}]} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': 'e9ac5371-24f7-41d6-9dcd-5dc52dcdbd37', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/e9ac5371-24f7-41d6-9dcd-5dc52dcdbd37', 'rel': 'self'}, {'href': 'http://localhost/allocations/e9ac5371-24f7-41d6-9dcd-5dc52dcdbd37', 'rel': 'bookmark'}]}, {'uuid': '7b4f3edc-7dcd-4c3c-9633-48f02c192f20', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7b4f3edc-7dcd-4c3c-9633-48f02c192f20', 'rel': 'self'}, {'href': 'http://localhost/allocations/7b4f3edc-7dcd-4c3c-9633-48f02c192f20', 'rel': 'bookmark'}]}, {'uuid': 'c7d8f196-1351-4182-afa6-1b0583dbdd3e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/c7d8f196-1351-4182-afa6-1b0583dbdd3e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c7d8f196-1351-4182-afa6-1b0583dbdd3e', 'rel': 'bookmark'}]}]} GET: /v1/allocations/9e584550-d502-4d22-9b32-20c7e1e96d70?fields=resource_class,extra {} GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/9e584550-d502-4d22-9b32-20c7e1e96d70', 'rel': 'self'}, {'href': 'http://localhost/allocations/9e584550-d502-4d22-9b32-20c7e1e96d70', 'rel': 'bookmark'}]} GET: /v1/allocations/d71d1d0a-9b1f-4ce6-87c7-fd79845ea82c {} GOT:{'uuid': 'd71d1d0a-9b1f-4ce6-87c7-fd79845ea82c', 'created_at': '2021-12-14T09:44:39.887855+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/d71d1d0a-9b1f-4ce6-87c7-fd79845ea82c', 'rel': 'self'}, {'href': 'http://localhost/allocations/d71d1d0a-9b1f-4ce6-87c7-fd79845ea82c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/01c99076-bd9f-4dc9-9683-463216bd93b4 {} GOT:{'uuid': '01c99076-bd9f-4dc9-9683-463216bd93b4', 'created_at': '2021-12-14T09:44:39.921254+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/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'self'}, {'href': 'http://localhost/allocations/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/01c99076-bd9f-4dc9-9683-463216bd93b4 {} GOT:{'uuid': '01c99076-bd9f-4dc9-9683-463216bd93b4', 'created_at': '2021-12-14T09:44:39.921254+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/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'self'}, {'href': 'http://localhost/allocations/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /allocations/01c99076-bd9f-4dc9-9683-463216bd93b4 {} GOT:{'uuid': '01c99076-bd9f-4dc9-9683-463216bd93b4', 'created_at': '2021-12-14T09:44:39.921254+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/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'self'}, {'href': 'http://localhost/allocations/01c99076-bd9f-4dc9-9683-463216bd93b4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '8768e5c6-d50c-47ae-a53a-9ae262851cdf', 'created_at': '2021-12-14T09:44:39.968788+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/8768e5c6-d50c-47ae-a53a-9ae262851cdf', 'rel': 'self'}, {'href': 'http://localhost/allocations/8768e5c6-d50c-47ae-a53a-9ae262851cdf', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4ad0d96f-4199-4a7d-9c42-4d30c11b5e57', 'created_at': '2021-12-14T09:44:39.969995+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/4ad0d96f-4199-4a7d-9c42-4d30c11b5e57', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ad0d96f-4199-4a7d-9c42-4d30c11b5e57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '28717d8b-574a-46b7-9c66-4dcce42cf38f', 'created_at': '2021-12-14T09:44:39.971162+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/28717d8b-574a-46b7-9c66-4dcce42cf38f', 'rel': 'self'}, {'href': 'http://localhost/allocations/28717d8b-574a-46b7-9c66-4dcce42cf38f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6f7fe4a8-64c7-485c-b8c8-e02b63700f33', 'created_at': '2021-12-14T09:44:39.972388+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/6f7fe4a8-64c7-485c-b8c8-e02b63700f33', 'rel': 'self'}, {'href': 'http://localhost/allocations/6f7fe4a8-64c7-485c-b8c8-e02b63700f33', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ff1cc0f1-0d51-454e-8df1-a11b2e748afd', 'created_at': '2021-12-14T09:44:39.973397+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/ff1cc0f1-0d51-454e-8df1-a11b2e748afd', 'rel': 'self'}, {'href': 'http://localhost/allocations/ff1cc0f1-0d51-454e-8df1-a11b2e748afd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?sort_key=uuid {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.050417s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.031103s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.045230s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.029941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.051366s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.049735s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.026069s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.021988s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.029769s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.026187s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.026454s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.036579s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.028784s] ... ok GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2021-12-14T09:44:39.704609+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 {'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b Openstack-Request-Id: req-79299a4c-d26a-4d4f-98fa-a9af5520202b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "214f45ee-30aa-462e-b7c7-ae446b31b73b", "created_at": "2021-12-14T09:44:39.738752+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b", "rel": "self"}, {"href": "http://localhost/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b/nodes", "rel": "bookmark"}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '214f45ee-30aa-462e-b7c7-ae446b31b73b', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b', 'rel': 'self'}, {'href': 'http://localhost/chassis/214f45ee-30aa-462e-b7c7-ae446b31b73b', 'rel': 'bookmark'}]}]} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': '0f7d71b6-2355-4765-95c2-6f0dcab4a50d', 'links': [{'href': 'http://localhost/v1/conductors/0f7d71b6-2355-4765-95c2-6f0dcab4a50d', 'rel': 'self'}, {'href': 'http://localhost/conductors/0f7d71b6-2355-4765-95c2-6f0dcab4a50d', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '17c2704d-edd8-4159-9fff-34a8949f6aa9', 'links': [{'href': 'http://localhost/v1/conductors/17c2704d-edd8-4159-9fff-34a8949f6aa9', 'rel': 'self'}, {'href': 'http://localhost/conductors/17c2704d-edd8-4159-9fff-34a8949f6aa9', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '986ff937-98af-4055-882d-d723a8f3067e', 'links': [{'href': 'http://localhost/v1/conductors/986ff937-98af-4055-882d-d723a8f3067e', 'rel': 'self'}, {'href': 'http://localhost/conductors/986ff937-98af-4055-882d-d723a8f3067e', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=986ff937-98af-4055-882d-d723a8f3067e'} 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 {} GOT:{'created_at': '2021-12-14T09:44:39.823966+00:00', 'updated_at': '2021-12-14T09:44:39.823562+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:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6ce0168-8def-481f-aab5-d33fc9d5fda8 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': '2021-12-14T09:44:39.874565+00:00', 'updated_at': '2021-12-14T09:44:39.874332+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': '2021-12-14T09:44:39.874565+00:00', 'updated_at': '2021-12-14T09:44:39.874332+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': '2021-12-14T09:44:39.874565+00:00', 'updated_at': '2021-12-14T09:44:39.874332+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?detail=true {} GOT:{'conductors': [{'created_at': '2021-12-14T09:44:39.917590+00:00', 'updated_at': '2021-12-14T09:44:39.917379+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': '2021-12-14T09:44:39.918890+00:00', 'updated_at': '2021-12-14T09:44:39.918751+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}]} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-b5ac0d5f-5b88-49c9-85ce-2a1aed614ddf 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/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f06f5638-c6d4-4ec5-bc13-b316ab51bc96 X-Openstack-Ironic-Api-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}"} GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': '60b36408-7601-4996-af79-55cb2eb57a0e', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/60b36408-7601-4996-af79-55cb2eb57a0e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/60b36408-7601-4996-af79-55cb2eb57a0e', 'rel': 'bookmark'}]}, {'uuid': '089cac13-eb3c-43f5-809e-5dc4d23f5454', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/089cac13-eb3c-43f5-809e-5dc4d23f5454', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/089cac13-eb3c-43f5-809e-5dc4d23f5454', 'rel': 'bookmark'}]}, {'uuid': '52c92ef4-23bf-4b9a-a501-aa51c44b5e03', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/52c92ef4-23bf-4b9a-a501-aa51c44b5e03', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/52c92ef4-23bf-4b9a-a501-aa51c44b5e03', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=52c92ef4-23bf-4b9a-a501-aa51c44b5e03'} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '66e37d68-8301-4570-a854-c89242aaf9bd', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/66e37d68-8301-4570-a854-c89242aaf9bd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/66e37d68-8301-4570-a854-c89242aaf9bd', 'rel': 'bookmark'}]}]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.030331s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.034982s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.030420s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.023577s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.054888s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.013322s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.027829s] ... ok POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1255bf3b-a9b3-4a77-a7e9-c6cfa8a04335', '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-59f70983-f019-43ca-bfcf-b86ef4c53181 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': 'c037a7c4-a0c0-4994-9ea0-452cac556070', '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-4eb03dee-1f4d-4f52-b2b2-2c5bf083398f X-Openstack-Ironic-Api-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_]+$' Failed validating 'pattern' in schema[0]\", \"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'}]} DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-5690a8d0-7d21-4376-a03a-9eb6517b2c68 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-5c055e42-b674-44e6-b9f8-d1ce2a3f7d99 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 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-b9bf65df-27a9-4392-911b-9c8bb461d328 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?fields=name,hosts&detail=false {} 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?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-63e21688-7115-46fa-9ee0-fbd1386fdaf1 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?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f0f4e732-2565-4093-800c-01a8fdd3ec7b 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/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bbfc9b11-48c5-4549-96e0-887a7dd47b98 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': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f733ccff-a2d1-4c45-8056-c2823e486d50 X-Openstack-Ironic-Api-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'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2538a87a-e2e2-4801-8779-295935a89f12 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['events']['items']\", \"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-5431e060-8d66-4815-9dde-221e94654361 X-Openstack-Ironic-Api-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/nodes/node-39/vifs {'id': '84c4cf69-60e4-4570-aa91-a9a918256779'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-372a85d0-e5a4-429d-bde0-d40cd45e95f4 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'c020e703-6d61-475c-960a-7d84dd07108e', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a609b8e7-4791-4344-8f3f-d8c2d2393b00 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}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False {} GOT:{'bios': [{'created_at': '2021-12-14T09:44:40.210590+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.024245s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.030890s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.012733s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.030895s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.039292s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.033564s] ... ok GOT:{'allocations': [{'uuid': '75ab450f-13d2-4e55-9718-ea674664af10', 'created_at': '2021-12-14T09:44:40.012626+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/75ab450f-13d2-4e55-9718-ea674664af10', 'rel': 'self'}, {'href': 'http://localhost/allocations/75ab450f-13d2-4e55-9718-ea674664af10', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7efda4b6-293b-4f0e-8073-4c6089fb1d94', 'created_at': '2021-12-14T09:44:40.010590+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/7efda4b6-293b-4f0e-8073-4c6089fb1d94', 'rel': 'self'}, {'href': 'http://localhost/allocations/7efda4b6-293b-4f0e-8073-4c6089fb1d94', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c4f42865-0ad8-4737-9df7-b020417ef4d2', 'created_at': '2021-12-14T09:44:40.011628+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/c4f42865-0ad8-4737-9df7-b020417ef4d2', 'rel': 'self'}, {'href': 'http://localhost/allocations/c4f42865-0ad8-4737-9df7-b020417ef4d2', '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-1c16ab81-feac-4234-a77f-d381cc9b5ee4 X-Openstack-Ironic-Api-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-f73f1f61-3d8e-4252-86f0-b1c3943aad7d X-Openstack-Ironic-Api-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-e862a9b1-23f7-44b9-87fb-8503af4cbbc2 X-Openstack-Ironic-Api-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-0d5c2b79-d241-41cf-8521-b13d4447576e X-Openstack-Ironic-Api-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/cb8fa97a-c5dc-40a6-8e89-d2de8045688e [{'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-59243f48-d070-464b-8ecf-f0e5f9aa3397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cb8fa97a-c5dc-40a6-8e89-d2de8045688e", "created_at": "2021-12-14T09:44:40.085959+00:00", "updated_at": "2021-12-14T09:44:40.107372+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/cb8fa97a-c5dc-40a6-8e89-d2de8045688e", "rel": "self"}, {"href": "http://localhost/allocations/cb8fa97a-c5dc-40a6-8e89-d2de8045688e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/cb8fa97a-c5dc-40a6-8e89-d2de8045688e {} GOT:{'uuid': 'cb8fa97a-c5dc-40a6-8e89-d2de8045688e', 'created_at': '2021-12-14T09:44:40.085959+00:00', 'updated_at': '2021-12-14T09:44:40.107372+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/cb8fa97a-c5dc-40a6-8e89-d2de8045688e', 'rel': 'self'}, {'href': 'http://localhost/allocations/cb8fa97a-c5dc-40a6-8e89-d2de8045688e', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/a501f505-dcef-428e-b1ea-9d3e978c864b [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bee2afd2-9f5b-4f70-8ac0-382b9cca8fa3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a501f505-dcef-428e-b1ea-9d3e978c864b", "created_at": "2021-12-14T09:44:40.130713+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/a501f505-dcef-428e-b1ea-9d3e978c864b", "rel": "self"}, {"href": "http://localhost/allocations/a501f505-dcef-428e-b1ea-9d3e978c864b", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/a501f505-dcef-428e-b1ea-9d3e978c864b {} GOT:{'uuid': 'a501f505-dcef-428e-b1ea-9d3e978c864b', 'created_at': '2021-12-14T09:44:40.130713+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/a501f505-dcef-428e-b1ea-9d3e978c864b', 'rel': 'self'}, {'href': 'http://localhost/allocations/a501f505-dcef-428e-b1ea-9d3e978c864b', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/ece3f1d9-3cda-4640-974a-3425e3128825 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-08b8b958-8bd0-44f8-b062-ef61e24c14ac 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 {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/36e0a628-1f21-4fe0-a236-afdd1078a714 Openstack-Request-Id: req-1fe7ea7c-c8a1-4ba1-8407-a1a39544ec1b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "36e0a628-1f21-4fe0-a236-afdd1078a714", "created_at": "2021-12-14T09:44:40.247481+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/36e0a628-1f21-4fe0-a236-afdd1078a714", "rel": "self"}, {"href": "http://localhost/allocations/36e0a628-1f21-4fe0-a236-afdd1078a714", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/36e0a628-1f21-4fe0-a236-afdd1078a714 {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.096693s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.015003s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.029046s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.014000s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.029854s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.013589s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d520782-00ca-4b50-86c4-d29f15ce8cc2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "created_at": "2021-12-14T09:44:40.095074+00:00", "updated_at": "2021-12-14T09:44:40.102238+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "rel": "self"}, {"href": "http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes", "rel": "self"}, {"href": "http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57 {} GOT:{'uuid': '4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'created_at': '2021-12-14T09:44:40.095074+00:00', 'updated_at': '2021-12-14T09:44:40.102238+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'rel': 'self'}, {'href': 'http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c99094d2-7b58-400a-b0a4-408e89fb9e60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "created_at": "2021-12-14T09:44:40.095074+00:00", "updated_at": "2021-12-14T09:44:40.111499+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "rel": "self"}, {"href": "http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes", "rel": "self"}, {"href": "http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57 {} GOT:{'uuid': '4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'created_at': '2021-12-14T09:44:40.095074+00:00', 'updated_at': '2021-12-14T09:44:40.111499+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'rel': 'self'}, {'href': 'http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/4d3fe7f5-c93d-49f0-8b3e-c7ba46f34c57/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-ac30c4bd-e331-4618-a5cb-ee27b451196a 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 {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc7f3072-4663-4748-9367-ed2bb336d158 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' Failed validating 'type' in schema['properties']['description']\", \"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-530ff48d-9aad-49fc-8921-39fd786f45de 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 Failed validating 'maxLength' in schema['properties']['description']\", \"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-fe34b8f7-bbcf-42bb-a2cb-99e875493106 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": "2021-12-14T09:44:40.218340+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': '2021-12-14T09:44:40.218340+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'}]]} GET: /v1/conductors {} GOT:{'conductors': [{'hostname': 'd1b913c3-ddb2-437a-ae03-a18dee85cea4', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/d1b913c3-ddb2-437a-ae03-a18dee85cea4', 'rel': 'self'}, {'href': 'http://localhost/conductors/d1b913c3-ddb2-437a-ae03-a18dee85cea4', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '9db4010d-c04d-48dd-b82c-d9deda9f1575', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/9db4010d-c04d-48dd-b82c-d9deda9f1575', 'rel': 'self'}, {'href': 'http://localhost/conductors/9db4010d-c04d-48dd-b82c-d9deda9f1575', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '40f4f7ae-1791-48a6-ac68-fd248e428a06', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/40f4f7ae-1791-48a6-ac68-fd248e428a06', 'rel': 'self'}, {'href': 'http://localhost/conductors/40f4f7ae-1791-48a6-ac68-fd248e428a06', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=40f4f7ae-1791-48a6-ac68-fd248e428a06'} GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.053412s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.031248s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.015276s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.086473s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.030570s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.032123s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.061703s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.062238s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.027863s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.033788s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.047462s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.042342s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.036134s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.033061s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.158895s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.035395s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.029017s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.026739s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.019879s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.020372s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.039036s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.019894s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.025326s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.101405s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.049050s] ... ok GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': '66e37d68-8301-4570-a854-c89242aaf9bd', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/66e37d68-8301-4570-a854-c89242aaf9bd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/66e37d68-8301-4570-a854-c89242aaf9bd', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False&fields=steps {} GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/71586aa9-90e4-4445-aa0f-7f245b6732f4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/71586aa9-90e4-4445-aa0f-7f245b6732f4', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates/d98b3c8c-c60d-4433-863c-e000f43365e5?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec25885b-c190-480e-9d1c-0fd8dfe4e3e2 X-Openstack-Ironic-Api-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/deploy_templates/b909a217-050e-45d4-b6ab-cec3a96b03dd?fields=name,steps {} GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/b909a217-050e-45d4-b6ab-cec3a96b03dd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b909a217-050e-45d4-b6ab-cec3a96b03dd', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} PATCH: /v1/deploy_templates/964f42ad-c814-438b-bb69-9fd6715ca9eb [{'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-896584a0-a047-4693-ad66-d27532ad1533 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "964f42ad-c814-438b-bb69-9fd6715ca9eb", "created_at": "2021-12-14T09:44:40.218295+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/964f42ad-c814-438b-bb69-9fd6715ca9eb", "rel": "self"}, {"href": "http://localhost/deploy_templates/964f42ad-c814-438b-bb69-9fd6715ca9eb", "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/43a59915-0112-4db8-b852-3a69a7e3aabc [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2adaa563-c562-4edc-b054-8c7814ae1b43 X-Openstack-Ironic-Api-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/ccc9bbd2-3e54-47bc-8f4c-9efce563666f [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-42ee0b8a-ea16-4a64-a71b-5fc9c8e367c0 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/f8c70674-797b-4b59-a833-432b35cb2569 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e760ea2d-4f6a-4de4-80f9-1de0dfa57d1e X-Openstack-Ironic-Api-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/51d5ffbd-c14a-434a-8b37-45ca350bcc28 [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e20dbe94-b2eb-48e5-93b1-5563e7253552 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/37629d77-a002-4f0c-a1fd-51baeb2c1492 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4c7c5db-08c8-43a0-8932-8c249bfacbbc X-Openstack-Ironic-Api-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/1b770f73-d4c8-4529-addf-bebceb2b7352 [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fb71d5d0-e814-4056-9702-32987646ba86 X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/501fbcc2-2079-4e06-a786-120fd83023c5 [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f45b9e5d-2b32-4d1b-baee-6c704a8e32e2 X-Openstack-Ironic-Api-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'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/a2270999-5da0-479b-8cf0-b5d7ee4b67a7 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e0bd3cdd-daea-4b0c-8f76-47496354748c X-Openstack-Ironic-Api-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 a2270999-5da0-479b-8cf0-b5d7ee4b67a7 already exists.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.041672s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.021398s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.021710s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.028445s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.023796s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.050332s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.034081s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.032297s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.045399s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.032331s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.024246s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.046440s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.026921s] ... ok GOT:{'uuid': '36e0a628-1f21-4fe0-a236-afdd1078a714', 'created_at': '2021-12-14T09:44:40.247481+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/36e0a628-1f21-4fe0-a236-afdd1078a714', 'rel': 'self'}, {'href': 'http://localhost/allocations/36e0a628-1f21-4fe0-a236-afdd1078a714', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '61db0559-3612-4634-9675-61ab4d1c4715', 'owner': None, 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/61db0559-3612-4634-9675-61ab4d1c4715 Openstack-Request-Id: req-8a3ccc9f-70ee-4d28-ab49-5349a5bc5106 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "61db0559-3612-4634-9675-61ab4d1c4715", "created_at": "2021-12-14T09:44:40.357436+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/61db0559-3612-4634-9675-61ab4d1c4715", "rel": "self"}, {"href": "http://localhost/allocations/61db0559-3612-4634-9675-61ab4d1c4715", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/61db0559-3612-4634-9675-61ab4d1c4715 {} GOT:{'uuid': '61db0559-3612-4634-9675-61ab4d1c4715', 'created_at': '2021-12-14T09:44:40.357436+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/61db0559-3612-4634-9675-61ab4d1c4715', 'rel': 'self'}, {'href': 'http://localhost/allocations/61db0559-3612-4634-9675-61ab4d1c4715', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '62766742-742c-4230-972d-f2d3e733a533', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/62766742-742c-4230-972d-f2d3e733a533 Openstack-Request-Id: req-53229f5e-a131-4e38-a502-0c913259b8b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "62766742-742c-4230-972d-f2d3e733a533", "created_at": "2021-12-14T09:44:40.429457+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/62766742-742c-4230-972d-f2d3e733a533", "rel": "self"}, {"href": "http://localhost/allocations/62766742-742c-4230-972d-f2d3e733a533", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/62766742-742c-4230-972d-f2d3e733a533 {} GOT:{'uuid': '62766742-742c-4230-972d-f2d3e733a533', 'created_at': '2021-12-14T09:44:40.429457+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/62766742-742c-4230-972d-f2d3e733a533', 'rel': 'self'}, {'href': 'http://localhost/allocations/62766742-742c-4230-972d-f2d3e733a533', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': '98deb1c7-4a28-445f-81f5-53317be6de94', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-31bfa1f6-66cc-4622-9789-b6b1258a0217 X-Openstack-Ironic-Api-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': '29f3ce4c-f317-4d43-84ba-64a36b4461a7', 'owner': '12345'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-be7c99c8-5a4f-4528-8df8-a65f8ed37e28 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': 'baremetal', 'traits': [], 'uuid': 'c5e2c840-dcdd-4649-b164-232de5cc841d', 'owner': '12345'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0cbbc4ff-ba76-4337-8a45-190c34914806 X-Openstack-Ironic-Api-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', '731ac860-fd29-45c8-ab24-2cbecb75b9cf'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'afc03538-b8d6-4c86-a5e6-803c9aeac3a3', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3 Openstack-Request-Id: req-d720f4ee-82f7-4b83-863d-9f611e050b8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "afc03538-b8d6-4c86-a5e6-803c9aeac3a3", "created_at": "2021-12-14T09:44:40.628961+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "731ac860-fd29-45c8-ab24-2cbecb75b9cf"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3", "rel": "self"}, {"href": "http://localhost/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3 {} GOT:{'uuid': 'afc03538-b8d6-4c86-a5e6-803c9aeac3a3', 'created_at': '2021-12-14T09:44:40.628961+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '731ac860-fd29-45c8-ab24-2cbecb75b9cf'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3', 'rel': 'self'}, {'href': 'http://localhost/allocations/afc03538-b8d6-4c86-a5e6-803c9aeac3a3', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9fc4b302-b772-48ef-bced-3e908718c634', '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': '8a736a1b-e6df-4feb-9068-ad81b91d9ae5', 'owner': None} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.025960s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.023320s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.022915s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.034316s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.042598s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.047216s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.031930s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.025802s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.049128s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.024787s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.024307s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.025403s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d46049d-96b3-45eb-857b-cb95b5fa69b5 X-Openstack-Ironic-Api-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/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-00e2735f-d2f8-4fcf-bd5c-a18a6464b8d3 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}"} DELETE: /v1/deploy_templates/4616bde2-49d7-427e-885c-dee275c68646.json GOT:Response: 204 No Content Openstack-Request-Id: req-12daf42f-5d3d-4f3a-82d8-533a20d7caa0 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?detail=True {} GOT:{'deploy_templates': [{'uuid': 'cc6e0e60-00ca-442a-845f-d9c2052a121f', 'created_at': '2021-12-14T09:44:40.447239+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/cc6e0e60-00ca-442a-845f-d9c2052a121f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cc6e0e60-00ca-442a-845f-d9c2052a121f', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{'deploy_templates': [{'uuid': '6cdcd71b-6535-475e-806e-583497777538', 'created_at': '2021-12-14T09:44:40.485593+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/6cdcd71b-6535-475e-806e-583497777538', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6cdcd71b-6535-475e-806e-583497777538', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '53e0e5c9-b4cf-49ad-8693-ef51a5bd89b1', 'created_at': '2021-12-14T09:44:40.483328+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/53e0e5c9-b4cf-49ad-8693-ef51a5bd89b1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/53e0e5c9-b4cf-49ad-8693-ef51a5bd89b1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'd16fa744-3ef6-474f-accd-1b7157ec3404', 'created_at': '2021-12-14T09:44:40.480843+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/d16fa744-3ef6-474f-accd-1b7157ec3404', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d16fa744-3ef6-474f-accd-1b7157ec3404', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} GET: /v1/deploy_templates/c0e60b34-6154-497a-bb29-5d2fc9b40af4 {} GOT:{'uuid': 'c0e60b34-6154-497a-bb29-5d2fc9b40af4', 'created_at': '2021-12-14T09:44:40.563006+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c0e60b34-6154-497a-bb29-5d2fc9b40af4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c0e60b34-6154-497a-bb29-5d2fc9b40af4', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/efb86f68-fbad-42a5-aa9d-d61f8891fac7 {} GOT:{'uuid': 'efb86f68-fbad-42a5-aa9d-d61f8891fac7', 'created_at': '2021-12-14T09:44:40.609206+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/efb86f68-fbad-42a5-aa9d-d61f8891fac7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/efb86f68-fbad-42a5-aa9d-d61f8891fac7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25 {} GOT:{'uuid': 'a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'created_at': '2021-12-14T09:44:40.655760+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25 {} GOT:{'uuid': 'a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'created_at': '2021-12-14T09:44:40.655760+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25 {} GOT:{'uuid': 'a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'created_at': '2021-12-14T09:44:40.655760+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a1d543e6-37a4-41c5-92ad-01b51e06fb25', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': '54dea2d5-1a00-41a0-a41c-72128ed681a6', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/54dea2d5-1a00-41a0-a41c-72128ed681a6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/54dea2d5-1a00-41a0-a41c-72128ed681a6', 'rel': 'bookmark'}]}, {'uuid': 'c853aa54-670f-460f-ab9f-5b7bfd766326', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/c853aa54-670f-460f-ab9f-5b7bfd766326', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c853aa54-670f-460f-ab9f-5b7bfd766326', 'rel': 'bookmark'}]}, {'uuid': 'fca056e7-99d1-4af9-91d0-0116a9f20562', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/fca056e7-99d1-4af9-91d0-0116a9f20562', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fca056e7-99d1-4af9-91d0-0116a9f20562', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': '8c37eec9-8e67-4791-a0a9-9cf459db6bdd', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/8c37eec9-8e67-4791-a0a9-9cf459db6bdd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8c37eec9-8e67-4791-a0a9-9cf459db6bdd', 'rel': 'bookmark'}]}, {'uuid': '49314a57-e1ee-4b67-8909-b7f1086421d7', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/49314a57-e1ee-4b67-8909-b7f1086421d7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49314a57-e1ee-4b67-8909-b7f1086421d7', 'rel': 'bookmark'}]}, {'uuid': '8e362613-f86a-4200-a845-bd452355daa4', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/8e362613-f86a-4200-a845-bd452355daa4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8e362613-f86a-4200-a845-bd452355daa4', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/970b7a9b-3826-49ab-9901-e529a532d3d1 [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.026078s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.025098s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.028730s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.035081s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.030605s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.031756s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.028783s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.023890s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.029241s] ... ok PATCH: /v1/deploy_templates/d0d1b832-f56e-4f57-8c64-26dd854dfeef [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-87a0f1cb-24cc-48bf-8e1d-85cf51902559 X-Openstack-Ironic-Api-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'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/88ec169c-dc92-4091-b1ee-6558310df01d [{'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': '/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/74a9c6a2-51c5-4741-a33e-674069d2df8b [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3a59a8a-3dc9-48b4-a40d-ebe6516c5a0a X-Openstack-Ironic-Api-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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/dff43d47-8d03-41e9-a39f-eb4e5c12bfae [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-19833c09-3487-42b3-82ec-d85f2c567bd4 X-Openstack-Ironic-Api-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 dff43d47-8d03-41e9-a39f-eb4e5c12bfae could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '09a25a4a-b6b3-4174-9a1d-5c75d5a351c5', '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/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5 Openstack-Request-Id: req-a2826aaa-0d11-4582-b9b5-9122ec493c4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "09a25a4a-b6b3-4174-9a1d-5c75d5a351c5", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5", "rel": "self"}, {"href": "http://localhost/deploy_templates/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5 {} GOT:{'uuid': '09a25a4a-b6b3-4174-9a1d-5c75d5a351c5', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/09a25a4a-b6b3-4174-9a1d-5c75d5a351c5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cb5cdd19-8584-494e-a7a7-c52502784ba8', '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/cb5cdd19-8584-494e-a7a7-c52502784ba8 Openstack-Request-Id: req-0e213496-e0f9-48bb-a311-6c10f3ed42a7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cb5cdd19-8584-494e-a7a7-c52502784ba8", "created_at": "2021-12-14T09:44:40.705172+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cb5cdd19-8584-494e-a7a7-c52502784ba8", "rel": "self"}, {"href": "http://localhost/deploy_templates/cb5cdd19-8584-494e-a7a7-c52502784ba8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6 Openstack-Request-Id: req-fdf3353e-903a-4deb-89e2-6fb070c93da0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ccd94573-9cc6-435b-9cd6-a52f368f0ef6", "created_at": "2021-12-14T09:44:40.748913+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6", "rel": "self"}, {"href": "http://localhost/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6 {} GOT:{'uuid': 'ccd94573-9cc6-435b-9cd6-a52f368f0ef6', 'created_at': '2021-12-14T09:44:40.748913+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ccd94573-9cc6-435b-9cd6-a52f368f0ef6', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e2f8f268-1298-4e6d-921e-73384bf45158', '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-29eb8514-3b79-47b7-92f6-0b7f2fdbbf33 X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 42, 'uuid': '30dcb1e8-d23f-46b2-992f-49cc9260a8d8', '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-b3762aae-24c9-4ee6-a98a-1886c8ee8202 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': None, 'uuid': '4c35187e-e70f-4bf3-902c-51f1b909365b', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.022554s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.020264s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.020640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.019536s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.029693s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.026679s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.027888s] ... ok 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?detail=True {} GOT:{'bios': [{'created_at': '2021-12-14T09:44:40.268673+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?fields=name,read_only {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7cc35153-35ce-4389-8e1e-acf9129c13cf 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}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90ef09f8-db0b-4b02-b08e-6ad5827aa7a9 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/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-4a547554-7384-483f-b2b9-982d4e8c8f3e 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0cb09005-da31-42af-8087-5bb4d91c3bb4 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-3fcc31e2-2725-4e92-bf99-3bf8cd6e4a08 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/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f53c407-955b-459d-9fe4-c737285bdf9f 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/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6431773-4369-4ea6-8b48-72cd1d00f65d 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}"} 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-5fb5875c-a621-4c6a-838a-64f7a8352006 X-Openstack-Ironic-Api-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/?limit=3 {} GOT:{'nodes': [{'uuid': 'e41a3643-ab50-42a6-bd0f-618bb3fce03c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e41a3643-ab50-42a6-bd0f-618bb3fce03c', 'rel': 'self'}, {'href': 'http://localhost/nodes/e41a3643-ab50-42a6-bd0f-618bb3fce03c', 'rel': 'bookmark'}]}, {'uuid': '6db29707-4a3f-4149-bbf2-2853396da9f4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6db29707-4a3f-4149-bbf2-2853396da9f4', 'rel': 'self'}, {'href': 'http://localhost/nodes/6db29707-4a3f-4149-bbf2-2853396da9f4', 'rel': 'bookmark'}]}, {'uuid': '02842a48-d929-44d5-b765-19a0a7776d81', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/02842a48-d929-44d5-b765-19a0a7776d81', 'rel': 'self'}, {'href': 'http://localhost/nodes/02842a48-d929-44d5-b765-19a0a7776d81', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=02842a48-d929-44d5-b765-19a0a7776d81'} GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e35e1f9f-9243-4283-ae96-e943529d051e 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=True {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.036814s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.033375s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.026450s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.061506s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.048083s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.022228s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.024060s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.022510s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:40.798456+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=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-17089f3c-b446-4b9b-86cc-108d083d460e 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/detail?associated=true {} GOT:{'nodes': [{'uuid': 'ef1a5a91-e1d1-42b7-bb0b-983df62ba512', 'created_at': '2021-12-14T09:44:40.908633+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': 'bc0c4841-6943-407f-86b4-c50357bdd4e0', '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/ef1a5a91-e1d1-42b7-bb0b-983df62ba512', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef1a5a91-e1d1-42b7-bb0b-983df62ba512', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ef1a5a91-e1d1-42b7-bb0b-983df62ba512/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef1a5a91-e1d1-42b7-bb0b-983df62ba512/ports', 'rel': 'bookmark'}]}, {'uuid': '0e3610da-289f-4736-80f4-3e2deb78ed46', 'created_at': '2021-12-14T09:44:40.911385+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': '596e549f-9161-462e-8af4-2df2eea449be', '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/0e3610da-289f-4736-80f4-3e2deb78ed46', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e3610da-289f-4736-80f4-3e2deb78ed46', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0e3610da-289f-4736-80f4-3e2deb78ed46/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e3610da-289f-4736-80f4-3e2deb78ed46/ports', 'rel': 'bookmark'}]}, {'uuid': 'ed0982fd-d0ec-4f64-9879-e417cd43dd65', 'created_at': '2021-12-14T09:44:40.914416+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': 'ddce2b65-d237-465b-a273-273ec64204a8', '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/ed0982fd-d0ec-4f64-9879-e417cd43dd65', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed0982fd-d0ec-4f64-9879-e417cd43dd65', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ed0982fd-d0ec-4f64-9879-e417cd43dd65/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed0982fd-d0ec-4f64-9879-e417cd43dd65/ports', 'rel': 'bookmark'}]}, {'uuid': '5d9bfe8f-bbd0-481a-9d9b-d832cb9f73e2', 'created_at': '2021-12-14T09:44:40.917737+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': 'a3c70dfc-4faf-4941-808a-e7fd2f16927e', '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/5d9bfe8f-bbd0-481a-9d9b-d832cb9f73e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/5d9bfe8f-bbd0-481a-9d9b-d832cb9f73e2', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5d9bfe8f-bbd0-481a-9d9b-d832cb9f73e2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5d9bfe8f-bbd0-481a-9d9b-d832cb9f73e2/ports', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fields=name&limit=2 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.046945s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.034385s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.036529s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.025434s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.036638s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.027345s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.031060s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.032830s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.206269s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.024664s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.046639s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06165402-c296-4912-bafe-012aab47d078 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}"} DELETE: /v1/chassis/1e8dd22f-18f6-4559-86ab-cc2eb0d65a92 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9d356ab0-2ae2-4021-899a-8280ff9bbf1f 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 1e8dd22f-18f6-4559-86ab-cc2eb0d65a92 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1900d1a9-31d5-4169-b8fa-282156ba001d 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}"} GET: /v1/chassis?fields=extra,uuid {} GOT:{'chassis': [{'uuid': 'be2a0e13-5cd1-4deb-b66a-d597fdcddbd2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/be2a0e13-5cd1-4deb-b66a-d597fdcddbd2', 'rel': 'self'}, {'href': 'http://localhost/chassis/be2a0e13-5cd1-4deb-b66a-d597fdcddbd2', 'rel': 'bookmark'}]}, {'uuid': 'b497e0fb-c19e-486c-abdf-815805dfc814', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b497e0fb-c19e-486c-abdf-815805dfc814', 'rel': 'self'}, {'href': 'http://localhost/chassis/b497e0fb-c19e-486c-abdf-815805dfc814', 'rel': 'bookmark'}]}, {'uuid': 'f91458c3-a303-4b96-bb1a-42cc057169cd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/f91458c3-a303-4b96-bb1a-42cc057169cd', 'rel': 'self'}, {'href': 'http://localhost/chassis/f91458c3-a303-4b96-bb1a-42cc057169cd', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=f91458c3-a303-4b96-bb1a-42cc057169cd'} GET: /v1/chassis?detail=True {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2021-12-14T09:44:40.845681+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-fda1b761-c9f5-43de-a627-40e23a4fb0b9 X-Openstack-Ironic-Api-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?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?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4b89c02-39ec-4955-ac70-c9fb6e15c2a1 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/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d1a1fdd8-558c-4dfe-84d0-a24fd776c87b 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-f1914995-f39e-44e1-8ca2-256f64a68da6 X-Openstack-Ironic-Api-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/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2021-12-14T09:44:41.002326+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/dff98602-43bb-4e62-b1df-7734e7bd4335 {} GOT:{'uuid': 'dff98602-43bb-4e62-b1df-7734e7bd4335', 'created_at': '2021-12-14T09:44:41.029115+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335 {} GOT:{'uuid': 'dff98602-43bb-4e62-b1df-7734e7bd4335', 'created_at': '2021-12-14T09:44:41.029115+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'bookmark'}]]} GET: /chassis/dff98602-43bb-4e62-b1df-7734e7bd4335 {} GOT:{'uuid': 'dff98602-43bb-4e62-b1df-7734e7bd4335', 'created_at': '2021-12-14T09:44:41.029115+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/dff98602-43bb-4e62-b1df-7734e7bd4335/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.053092s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.035541s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.027662s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.035126s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.027128s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.024489s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.025826s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.022835s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca4d53b9-c55f-411a-a4c3-79731c2d3417 X-Openstack-Ironic-Api-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/a5868f93-e23f-4807-a46e-f17f391235de [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7252c6b7-6d51-48cc-a495-5e49e4850065 X-Openstack-Ironic-Api-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/d8ad34e1-75e4-491e-9bb7-194052239665 [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e82fde72-1bff-4179-9f45-e3c9153ba35d X-Openstack-Ironic-Api-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 Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/f44ff659-336c-4864-b2df-f8fade16ec69 [{'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-fcba60e2-4db9-49a0-9451-20ff55faa411 X-Openstack-Ironic-Api-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/8eaf2342-fa60-4518-9765-85d86dbae732 [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0b812b7-1c90-4e43-81a6-94728ec7530d X-Openstack-Ironic-Api-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 Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6a57ea04-500f-422f-be4c-38004cfa9ec3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d517bdd9-3557-48b2-9e60-c94049c5b22a", "created_at": "2021-12-14T09:44:40.899368+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d517bdd9-3557-48b2-9e60-c94049c5b22a", "rel": "self"}, {"href": "http://localhost/deploy_templates/d517bdd9-3557-48b2-9e60-c94049c5b22a", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/3645b160-3052-497f-9e11-02f8105d7a7d [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-223b1e29-d3e1-499d-8167-523cf6133dd8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3645b160-3052-497f-9e11-02f8105d7a7d", "created_at": "2021-12-14T09:44:40.930209+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3645b160-3052-497f-9e11-02f8105d7a7d", "rel": "self"}, {"href": "http://localhost/deploy_templates/3645b160-3052-497f-9e11-02f8105d7a7d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/33cebd86-e234-4267-8da8-ee8bd91c3ccd [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7632db46-41d9-41e3-a3d2-d98df22eaeda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "33cebd86-e234-4267-8da8-ee8bd91c3ccd", "created_at": "2021-12-14T09:44:40.960439+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/33cebd86-e234-4267-8da8-ee8bd91c3ccd", "rel": "self"}, {"href": "http://localhost/deploy_templates/33cebd86-e234-4267-8da8-ee8bd91c3ccd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'abfcb31a-4710-474b-9220-04a92a12f1c6', '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-969c2950-b2e4-4e2f-8e31-72f7711c8004 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a7c86db9-0080-4939-acab-5b71ae3105c1', '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-7c6bf151-8a6a-4d48-ad5a-e7ef8f4631b5 X-Openstack-Ironic-Api-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'] Failed validating 'enum' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'fdbcd958-9a6d-4bd0-b21b-3e953eca6776', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.024506s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.022152s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.021724s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.020966s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.021223s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.034120s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.028312s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.034733s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.035112s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.027571s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.033542s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.037605s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.045708s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.031396s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.030380s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.027466s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.034180s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.024223s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.033403s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.028619s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.023825s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.034375s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.022555s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.035146s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.021123s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.029944s] ... ok /builddir/build/BUILD/ironic-18.3.0.dev130/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() GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/fdbcd958-9a6d-4bd0-b21b-3e953eca6776 Openstack-Request-Id: req-11fea409-5627-423f-965c-75b4c5d7a519 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "fdbcd958-9a6d-4bd0-b21b-3e953eca6776", "created_at": "2021-12-14T09:44:41.056380+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fdbcd958-9a6d-4bd0-b21b-3e953eca6776", "rel": "self"}, {"href": "http://localhost/deploy_templates/fdbcd958-9a6d-4bd0-b21b-3e953eca6776", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd78ece1c-360c-4a9b-999a-e904cf835709', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bf1a3767-4deb-4d17-aee3-72f2f1609b57 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b3b81f8f-9089-4ff7-bf72-c8102dd3f7c4', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7f2b739-80be-4cd3-8677-6c69c9e9a8bf X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8ad81747-cac0-4281-a867-e2746a16a4c2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f704398-f933-4b9b-b343-1336d9caf48d X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9c3992c8-16c7-48ca-8db1-0528acd29c93 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}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-279617a6-4563-4877-852a-e2777fec32f1 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f14a91c-2b2f-42d4-94a8-d33a4743a24d 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?detail=true&fields=name,hosts {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-375dcd4a-399b-4722-9d0c-391b10d2bd26 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?fields=name,invalid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89a8de3d-94dc-466a-a2a8-13ba78841adb 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-d7099437-934b-4ced-b83a-43d38d1ead82 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/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d95d3b6-6b8e-4a23-ab72-74e5b8aac85e 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 {} GOT:{'drivers': []} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2292a3a4-ce90-4340-af7c-434223c6909e 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=dynamic {} 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 {} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.069118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.061992s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a40542f5-87a6-499c-bc05-f22f8c998a50 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'abfe454c-ee55-4c25-a601-3c9cddfe89ed', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7347bf2c-5550-427e-8476-fd30a212edf0 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['steps']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a59178b0-31eb-4660-9453-d2236fa5be9d', '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-669fb321-d671-4e7c-af1e-c908aa31eec5 X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0a7a959d-4527-4441-b9bd-ba1b3f00b4ac', '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-195eec9e-458d-49e0-82c3-2aa04f329fa8 X-Openstack-Ironic-Api-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 Failed validating 'minimum' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'fa33bcee-9281-4d35-beec-a5ccbeb55d65', '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-9fc78ff4-a4e1-4ddc-8298-ef9c55eb8bec X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'uuid': 'e1a639be-07ea-44d8-8401-15ba6cbefbe6', '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-bcb3e15a-2188-486f-9dcd-9691cd5ab7fd X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a88cec65-c058-4bdb-b5eb-f1b5318e0477', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f46e2bff-8fe0-46fb-9691-ea65291cbd37 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '47317379-e5f1-407e-8756-14b7dace4de4', '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/47317379-e5f1-407e-8756-14b7dace4de4 Openstack-Request-Id: req-655e3cd0-897f-4e2f-a938-541c11113832 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "47317379-e5f1-407e-8756-14b7dace4de4", "created_at": "2021-12-14T09:44:41.194066+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/47317379-e5f1-407e-8756-14b7dace4de4", "rel": "self"}, {"href": "http://localhost/deploy_templates/47317379-e5f1-407e-8756-14b7dace4de4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} 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/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]} POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-f8c73265-31b1-4260-a5c6-e089ea01d234 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/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_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []} GET: /v1/drivers/fake-hardware-type {} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.057388s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.048381s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.028715s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.052869s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.033371s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.021179s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.021175s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.041509s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.069019s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.046287s] ... 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'}, {'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 {} 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_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_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_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_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?detail=True {} 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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_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 {} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.054951s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.033828s] ... ok GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f8557c45-9a0c-4b68-9f59-60dd96550179', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8557c45-9a0c-4b68-9f59-60dd96550179', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/5313a31b-eed1-4277-88c7-debc3c6a9520', 'rel': 'self'}, {'href': 'http://localhost/nodes/5313a31b-eed1-4277-88c7-debc3c6a9520', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=5313a31b-eed1-4277-88c7-debc3c6a9520'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6d6c1828-3344-42a6-a0c4-ee174265aa08 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?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?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-01bf40a9-a67c-4073-aab5-1e1d5009a9ef 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-2de3c4d2-ec09-4305-b6a0-b11fef72a02c 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?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2586ad59-e056-4351-9e65-ddd30e4c9885 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-1cbe41d7-7c10-4900-aaec-eb711e2a0b6b 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=test {} GOT:{'nodes': []} GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b17bb343-9c8f-4890-98ac-e9fbe82b11de 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?resource_class=foo {} GOT:{'nodes': [{'uuid': 'a1926210-200d-445c-9647-1582bfd3fb5d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a1926210-200d-445c-9647-1582bfd3fb5d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a1926210-200d-445c-9647-1582bfd3fb5d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': '3ee50490-9c52-4fa4-b620-d109f1c14085', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3ee50490-9c52-4fa4-b620-d109f1c14085', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ee50490-9c52-4fa4-b620-d109f1c14085', 'rel': 'bookmark'}]}]} 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.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:41.267909+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=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=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?fields=storage_interface {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.032648s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.033290s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.031490s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.038598s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.044002s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.288389s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.021513s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.021297s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.020994s] ... 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/properties {} GET: /drivers/fake-hardware-type/properties {} 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_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_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/fake-hardware-type?fields=name,invalid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5f267640-3076-461e-950e-6cc7cefa200b 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}"} POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df7a1511-67f2-449c-a8d1-5903e170b189 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['events']['items']\", \"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-cc22ff1d-af65-42f4-8b64-bc59a75fa143 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']}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a283eb63-37d3-424f-bb94-632b783cbc11 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-136136a9-1a60-41a3-9eb3-ef287078aafb X-Openstack-Ironic-Api-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.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-2c642387-2fd0-48ab-9e5c-34d2cab55603 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['status']\", \"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-80a4aa7f-4690-4973-af50-d0316bbf16aa 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-8a0c8066-ab8f-4756-8393-6334455e8eb3 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.035685s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.037739s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.043978s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.065608s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.020166s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0ecd008f-cf8c-4dfc-8b8a-4583c25f1499 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84e66dfd-4634-4e0d-82af-5afe3c24f2db 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': '2021-12-14T09:44:41.472752+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': '2021-12-14T09:44:41.472752+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:41.512763+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': '2021-12-14T09:44:41.512763+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/799ae7e2-2a83-4b98-b131-fa00c7409b83 {} GOT:{'uuid': '799ae7e2-2a83-4b98-b131-fa00c7409b83', 'created_at': '2021-12-14T09:44:41.558489+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/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.050722s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.070485s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.036607s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.036339s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.036936s] ... ok GOT:{'uuid': '799ae7e2-2a83-4b98-b131-fa00c7409b83', 'created_at': '2021-12-14T09:44:41.558489+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/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'bookmark'}]} GET: /nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83 {} GOT:{'uuid': '799ae7e2-2a83-4b98-b131-fa00c7409b83', 'created_at': '2021-12-14T09:44:41.558489+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/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/799ae7e2-2a83-4b98-b131-fa00c7409b83/ports', 'rel': 'bookmark'}]} GET: /v1/nodes?maintenance=true {} GOT:{'nodes': [{'uuid': '09a9a528-e282-4573-a8e7-6c385f49719a', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/09a9a528-e282-4573-a8e7-6c385f49719a', 'rel': 'self'}, {'href': 'http://localhost/nodes/09a9a528-e282-4573-a8e7-6c385f49719a', 'rel': 'bookmark'}]}, {'uuid': 'e24f9925-c47f-4b3c-b202-fe59ba5410b0', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e24f9925-c47f-4b3c-b202-fe59ba5410b0', 'rel': 'self'}, {'href': 'http://localhost/nodes/e24f9925-c47f-4b3c-b202-fe59ba5410b0', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': 'edd4f2d5-b4db-4e1e-96f3-7fea12f14913', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/edd4f2d5-b4db-4e1e-96f3-7fea12f14913', 'rel': 'self'}, {'href': 'http://localhost/nodes/edd4f2d5-b4db-4e1e-96f3-7fea12f14913', 'rel': 'bookmark'}]}, {'uuid': '0a667ca6-b167-4409-b277-eda024119aa2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0a667ca6-b167-4409-b277-eda024119aa2', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a667ca6-b167-4409-b277-eda024119aa2', 'rel': 'bookmark'}]}, {'uuid': '9b9c0fd1-9b4b-44f0-8c44-575417799001', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9b9c0fd1-9b4b-44f0-8c44-575417799001', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b9c0fd1-9b4b-44f0-8c44-575417799001', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23808a6b-5948-45f6-bbf2-96d4b55c09bc 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?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1be9eb07-3ba8-4652-9f9a-1697069c97e1 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-dc1ba7bf-c84e-43da-98d0-ec988c31c7cf 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:41.804662+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.063520s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.051498s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:41.804662+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': '2021-12-14T09:44:41.863709+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': '2021-12-14T09:44:41.913909+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.057858s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.052242s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.024128s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.037206s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.084221s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.024834s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.021882s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.020933s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.021063s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:41.913909+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=64dcc4c5-2deb-4e5f-9385-27d6e132c34d {} GOT:{'nodes': [{'uuid': '740ed86e-1ed1-43e4-9ff5-6babf2327e77', 'instance_uuid': '64dcc4c5-2deb-4e5f-9385-27d6e132c34d', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/740ed86e-1ed1-43e4-9ff5-6babf2327e77', 'rel': 'self'}, {'href': 'http://localhost/nodes/740ed86e-1ed1-43e4-9ff5-6babf2327e77', 'rel': 'bookmark'}]}]} GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1cd01267-dde1-43c2-b77e-2f73185a6665 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': '2021-12-14T09:44:42.038143+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': '2021-12-14T09:44:42.038143+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_interface_fields_hidden_in_lower_version [0.040261s] ... ok GOT:{'nodes': [{'uuid': '05228451-7ec4-4e41-b645-2618805b47f2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/05228451-7ec4-4e41-b645-2618805b47f2', 'rel': 'self'}, {'href': 'http://localhost/nodes/05228451-7ec4-4e41-b645-2618805b47f2', 'rel': 'bookmark'}]}, {'uuid': '19a88736-050b-4eb5-b32f-d34624251d7c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/19a88736-050b-4eb5-b32f-d34624251d7c', 'rel': 'self'}, {'href': 'http://localhost/nodes/19a88736-050b-4eb5-b32f-d34624251d7c', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': '05228451-7ec4-4e41-b645-2618805b47f2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/05228451-7ec4-4e41-b645-2618805b47f2', 'rel': 'self'}, {'href': 'http://localhost/nodes/05228451-7ec4-4e41-b645-2618805b47f2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=05228451-7ec4-4e41-b645-2618805b47f2'} 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'}]}]} 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-0be725ca-bd3c-46b3-bfaa-ad527319a98a 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/c8c3aa00-2d08-4908-b8f9-5f986b1285a0 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b2fa41c3-6617-4aa3-92c6-a7d683af5ccb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "c8c3aa00-2d08-4908-b8f9-5f986b1285a0", "created_at": "2021-12-14T09:44:41.178515+00:00", "updated_at": "2021-12-14T09:44:41.186411+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0", "rel": "self"}, {"href": "http://localhost/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0 {} GOT:{'uuid': 'c8c3aa00-2d08-4908-b8f9-5f986b1285a0', 'created_at': '2021-12-14T09:44:41.178515+00:00', 'updated_at': '2021-12-14T09:44:41.186411+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0', 'rel': 'self'}, {'href': 'http://localhost/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c8c3aa00-2d08-4908-b8f9-5f986b1285a0/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/d287d202-21ee-4ef8-a8ec-fd958119ad7d [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1305232d-2538-44bf-9c3d-29abe5b3479b 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 d287d202-21ee-4ef8-a8ec-fd958119ad7d could not be found.\", \"debuginfo\": null}"} 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-c843db69-562d-4791-972f-864e711ead15 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/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-1f87a92d-573f-447a-80c7-b35d7ffd6e20 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 {} GOT:{'conductors': []} 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': '2021-12-14T09:44:41.368081+00:00', 'updated_at': '2021-12-14T09:44:41.367843+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': '2021-12-14T09:44:41.368081+00:00', 'updated_at': '2021-12-14T09:44:41.367843+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': '2021-12-14T09:44:41.368081+00:00', 'updated_at': '2021-12-14T09:44:41.367843+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?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8a4b762-b64c-4e82-8bbe-0ddfd417ab12 X-Openstack-Ironic-Api-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 {} {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.026397s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.032497s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.021927s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.024013s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.221598s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.037322s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.030182s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.023567s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.035714s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.034406s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.061910s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.104865s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.090455s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.031113s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.118210s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:42.084445+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': '2021-12-14T09:44:42.115307+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': '2021-12-14T09:44:42.146335+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.035865s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.031664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.061967s] ... ok GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} 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 {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} 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://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} 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-07ecb1a3-09db-4528-b21e-c023cc88fae4 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-c85bb6bd-9f2d-4b44-9c83-48b911c852cc X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['binding:host_id']\", \"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-c4755cde-ab8a-4025-bba0-8a9d23967efe X-Openstack-Ironic-Api-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': '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-651dab2d-52c0-4810-83e3-cf61d24b3cd4 X-Openstack-Ironic-Api-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': '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-df9c6bec-9f1e-4910-b848-394a54315c19 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['binding:host_id']\", \"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-6a4f2973-dc51-41c0-9277-c84418b0d442 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"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-e39e43b2-d2da-4b06-ae97-1bfb30c97bd6 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['status']\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '8f3d285d-83c6-4506-a4dd-fa94041ab85f'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.038885s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.029290s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.026373s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.025649s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.027277s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.050123s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.076400s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.048702s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:42.146335+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': '2021-12-14T09:44:42.183135+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': '2021-12-14T09:44:42.213272+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.035341s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.035883s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.032448s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.061304s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.067814s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.035611s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.049421s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.039951s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.055225s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f818fbf-1f3f-4283-8e6c-76510f90cdda X-Openstack-Ironic-Api-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/362eec28-b670-4594-927d-c4fa6c32b1a0 GOT:Response: 204 No Content Openstack-Request-Id: req-e144afde-4016-4953-a64d-988cbb0a15f9 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/2c61695d-b098-4eab-b51e-c185660fd387 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\"}"} 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': 'fe39b497-3429-48ce-b616-6f0000487b71', 'links': [{'href': 'http://localhost/v1/deploy_templates/fe39b497-3429-48ce-b616-6f0000487b71', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fe39b497-3429-48ce-b616-6f0000487b71', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '6471ab7b-4d83-4cd5-95aa-ab574f852549', 'links': [{'href': 'http://localhost/v1/deploy_templates/6471ab7b-4d83-4cd5-95aa-ab574f852549', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6471ab7b-4d83-4cd5-95aa-ab574f852549', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '6e3dc04e-c66c-4610-b763-d7d0a480d282', 'links': [{'href': 'http://localhost/v1/deploy_templates/6e3dc04e-c66c-4610-b763-d7d0a480d282', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6e3dc04e-c66c-4610-b763-d7d0a480d282', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=6e3dc04e-c66c-4610-b763-d7d0a480d282'} GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0f2dc78-71a2-44d1-9a84-815b140e000e X-Openstack-Ironic-Api-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 {} 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/86feec18-1f7e-4368-aab5-4fb583e12bdd {} 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 {} GOT:{'deploy_templates': [{'uuid': '67879c28-03f4-44d4-8050-884086b7a18a', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/67879c28-03f4-44d4-8050-884086b7a18a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/67879c28-03f4-44d4-8050-884086b7a18a', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/0c4fd913-2142-422d-9305-bf1336731b09 [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71b3917e-b4ec-4254-acea-5749a9712abe X-Openstack-Ironic-Api-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/0016274c-150c-4572-a2c7-9dfd48525699 [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-478c6458-1ed0-433d-ac87-cad4f7c0c76c X-Openstack-Ironic-Api-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/2ac65bad-7f6f-4942-a11e-947a2b996dce [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-802f2787-cfef-40c9-b49c-0530bf05a985 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/7d82ba95-d824-4f37-846d-a379b896859b [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c203619-a625-4eb1-adc2-77c4a6a42fef X-Openstack-Ironic-Api-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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/42ea3a1b-3743-43bc-8e3c-b0db88dd52f5 [{'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-a3d84776-0552-4ea5-93a2-787a77a14362 X-Openstack-Ironic-Api-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/4898a0ee-e6ae-4c95-ab26-2de8bc4d2b23 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4eb147e-21d1-4841-9e44-eb5c926e513f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4898a0ee-e6ae-4c95-ab26-2de8bc4d2b23", "created_at": "2021-12-14T09:44:42.248864+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4898a0ee-e6ae-4c95-ab26-2de8bc4d2b23", "rel": "self"}, {"href": "http://localhost/deploy_templates/4898a0ee-e6ae-4c95-ab26-2de8bc4d2b23", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b4713aa4-f8de-4437-9244-82d27889424d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.056380s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.042100s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.022187s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.032843s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.027556s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.021403s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.023154s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.023120s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.024734s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.082222s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:42.213272+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/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/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/ad6abdcb-6a4a-46b5-8bab-771dc55352b2/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/b65a754b-258b-4bce-b885-2370edc13c02/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?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-87e5ad48-748b-4827-8ece-ed27054e11e8 X-Openstack-Ironic-Api-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 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2b1bac8-ebac-44d1-9573-f64a1004d7f8 X-Openstack-Ironic-Api-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-23647914-e917-4a17-bcd9-8d85de5bda0f X-Openstack-Ironic-Api-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-858a6dc7-8c24-45ae-8635-623edc4b30b3 X-Openstack-Ironic-Api-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-aaa45269-a8b9-4d4c-aa34-f036c7a8a211 X-Openstack-Ironic-Api-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-759125e4-7132-4bef-92bb-2fef548f3716 X-Openstack-Ironic-Api-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-793954c5-7ab8-409c-8cc4-0469baacd999 X-Openstack-Ironic-Api-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-8d93754a-3418-4f37-9031-8d2a94ac5e54 X-Openstack-Ironic-Api-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-babc342d-fd2b-4439-81f0-eb6d56ae72c5 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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.025188s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.047795s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.021659s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.020859s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.043068s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.030479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.065565s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.043546s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.042833s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.027889s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.048698s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.057342s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.025670s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.037266s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.027164s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.027205s] ... ok /builddir/build/BUILD/ironic-18.3.0.dev130/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.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.038792s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.028542s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.061800s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.026778s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.030464s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.049716s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.048269s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.073868s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.046117s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.049227s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.061815s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0dea6f0c-5d2f-4502-8488-91f8f9691165 X-Openstack-Ironic-Api-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': '0014d85b-b1d2-46ac-8d1f-a6f3620519e7', '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-5ed1bc27-3e96-4831-a691-e2ded1983569 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['extra']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '7174ed0c-f7ed-4fb7-b6fa-23bd2670dc8f', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-227d4890-f8b2-4abd-b3ac-cec96be0ce49 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['steps']['items']['properties']['step']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '69e041f7-1f56-4c30-8b0b-4951626f5623', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b35a4233-ad0e-4754-8473-63cfaa51ace2 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '3c4ea1cc-d629-4c29-974e-bdcfc9d2dd92', '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/3c4ea1cc-d629-4c29-974e-bdcfc9d2dd92 Openstack-Request-Id: req-218b5245-7c7d-4f80-b391-4f353ba57917 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3c4ea1cc-d629-4c29-974e-bdcfc9d2dd92", "created_at": "2021-12-14T09:44:42.436551+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3c4ea1cc-d629-4c29-974e-bdcfc9d2dd92", "rel": "self"}, {"href": "http://localhost/deploy_templates/3c4ea1cc-d629-4c29-974e-bdcfc9d2dd92", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5cc35b8f-c11e-4cee-aefa-193466407d13', '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-6393b131-b641-472d-88a4-2ce9f248526b X-Openstack-Ironic-Api-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}"} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d267022-af14-4585-ab5f-e27b88fa6ee7 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 {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?fields=name,hosts {} 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?type=classic {} GOT:{'drivers': []} GET: /v1/drivers?fields=name,hosts {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1e9cd7d1-17e7-4185-b060-acd53a57f999 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-49aa9be6-8dc6-4eaa-b51d-82f4832717a6 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:{'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'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.033848s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.029658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.017018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.015684s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.026305s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.021785s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.021358s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.023546s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.020416s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.046168s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.020883s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.022458s] ... ok 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-332ebe43-dc2c-4b93-b1d1-e792276479f9 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': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-a8c4a8e2-1a90-43f6-aefd-65c0130dc230 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.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-e24f52fc-e089-40ac-9b55-cefbe02a37cf 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-eec50d07-4985-46c4-ac40-616f70d4fedd X-Openstack-Ironic-Api-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-763efa4d-8a21-4840-8461-e31839c16a8d 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-3bdb0c6c-0aa1-4820-84c9-f684c80edd3a X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/1a6169ee-639f-4144-837e-1587c59920ea GOT:Response: 204 No Content Openstack-Request-Id: req-e04e8ab0-9eba-4379-8c63-bec06a525b1c 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/9fb6a997-bba9-44bc-9560-4e178dcbaa65 GOT:Response: 204 No Content Openstack-Request-Id: req-e37eb0d4-7bad-4a37-9c44-4e1a17d4f4ac 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/1d5b1da8-e658-4916-8a28-d9465be293df GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-04489046-a3f9-4c2b-b21c-486b37065495 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/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:{'bios': [{'created_at': '2021-12-14T09:44:42.433697+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-f624e56b-dca4-46d7-b551-c398138a9510 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/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eac3cdee-aab6-459f-b716-774d39c24b6a 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}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{'virtualization': {'created_at': '2021-12-14T09:44:42.619201+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.json GOT:Response: 204 No Content Openstack-Request-Id: req-b3821a87-d1a0-42de-b4a8-30c73442bf0d 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e7c27209-b048-4756-aac5-d651b259259a 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?associated=blah {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.056216s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.096462s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.081159s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.056031s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3f00784c-3244-4ea5-a1e9-46e141b141db 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}"} POST: /v1/nodes/doesntexist/vifs {'id': '3b55b3da-2d25-4d05-bf7d-d719f02f18df'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1279a1b8-e8d6-4afb-8f36-ca8f95a766f8 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}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '9c1bb280-7553-4c5e-86d8-e4909b47dcc8', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 204 No Content Openstack-Request-Id: req-928077d5-5a4d-4038-b7f5-a8aeaeed751b 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/63540adc-3393-47dd-bfda-f408c526b979 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9fb6746-e5b9-4c1b-bc3c-eb48e3b1ab3a 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/bios/virtualization {} GOT:{'virtualization': {'created_at': '2021-12-14T09:44:42.304676+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/virtualization {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-d572c507-df42-43f9-9ce2-7789e6b38693 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 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d48a9f94-82a1-4454-b661-ac62df944fe9 X-Openstack-Ironic-Api-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}"} GET: /v1/nodes/detail?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-362b7260-e9ef-4c9d-b2d6-564f1022afe3 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 {} GOT:{'nodes': [{'uuid': '23ca3120-b89d-42d3-b2ab-ea35541bf9d6', 'created_at': '2021-12-14T09:44:42.615162+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/23ca3120-b89d-42d3-b2ab-ea35541bf9d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/23ca3120-b89d-42d3-b2ab-ea35541bf9d6/volume', 'rel': 'bookmark'}]}, {'uuid': '3db73541-95f6-4519-8465-63f01b1b27af', 'created_at': '2021-12-14T09:44:42.620241+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/3db73541-95f6-4519-8465-63f01b1b27af', 'rel': 'self'}, {'href': 'http://localhost/nodes/3db73541-95f6-4519-8465-63f01b1b27af', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3db73541-95f6-4519-8465-63f01b1b27af/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3db73541-95f6-4519-8465-63f01b1b27af/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3db73541-95f6-4519-8465-63f01b1b27af/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3db73541-95f6-4519-8465-63f01b1b27af/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3db73541-95f6-4519-8465-63f01b1b27af/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3db73541-95f6-4519-8465-63f01b1b27af/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3db73541-95f6-4519-8465-63f01b1b27af/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3db73541-95f6-4519-8465-63f01b1b27af/volume', 'rel': 'bookmark'}]}, {'uuid': '3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4', 'created_at': '2021-12-14T09:44:42.625532+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/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cb6870a-4322-4341-a9b6-d1b8a0d7d1e4/volume', 'rel': 'bookmark'}]}, {'uuid': '119b06fe-bec2-4610-9b7b-a5f96b3af1e1', 'created_at': '2021-12-14T09:44:42.630596+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/119b06fe-bec2-4610-9b7b-a5f96b3af1e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/119b06fe-bec2-4610-9b7b-a5f96b3af1e1/volume', 'rel': 'bookmark'}]}, {'uuid': '861b70de-a631-427d-8ac6-badaa6234e1e', 'created_at': '2021-12-14T09:44:42.635404+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/861b70de-a631-427d-8ac6-badaa6234e1e', 'rel': 'self'}, {'href': 'http://localhost/nodes/861b70de-a631-427d-8ac6-badaa6234e1e', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/861b70de-a631-427d-8ac6-badaa6234e1e/volume', 'rel': 'bookmark'}]}, {'uuid': '9f0752a2-af88-4175-a9e5-9f70fd5bb483', 'created_at': '2021-12-14T09:44:42.640656+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/9f0752a2-af88-4175-a9e5-9f70fd5bb483', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f0752a2-af88-4175-a9e5-9f70fd5bb483/volume', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.114431s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.064813s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.073922s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.034534s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.030131s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.050243s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.037815s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.052000s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.060206s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.029141s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.033062s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.027716s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.028510s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.030876s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.034930s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.014324s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.039447s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.015325s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.029049s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.071088s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.074901s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.068066s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-207a2f33-5ef2-4c5b-87e1-871915e8cfae 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?associated=true {} GOT:{'nodes': [{'uuid': '308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'instance_uuid': '46da151b-f2eb-4842-8345-9daeccddae27', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'rel': 'self'}, {'href': 'http://localhost/nodes/308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'rel': 'bookmark'}]}, {'uuid': '723b4976-0c7e-4d86-8873-55b2a812a26f', 'instance_uuid': '0f1f9586-a373-4613-b380-1f324adebc12', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/723b4976-0c7e-4d86-8873-55b2a812a26f', 'rel': 'self'}, {'href': 'http://localhost/nodes/723b4976-0c7e-4d86-8873-55b2a812a26f', 'rel': 'bookmark'}]}, {'uuid': 'f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'instance_uuid': '7058c8ed-008a-4b1c-817a-0e3ec24ee4cb', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'rel': 'self'}, {'href': 'http://localhost/nodes/f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'rel': 'bookmark'}]}, {'uuid': '47537db2-2ef8-4192-bea4-1ce702c30d92', 'instance_uuid': '2d16f64c-e762-41f7-93e2-c5f40b3c4024', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/47537db2-2ef8-4192-bea4-1ce702c30d92', 'rel': 'self'}, {'href': 'http://localhost/nodes/47537db2-2ef8-4192-bea4-1ce702c30d92', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': '308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'instance_uuid': '46da151b-f2eb-4842-8345-9daeccddae27', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'rel': 'self'}, {'href': 'http://localhost/nodes/308bb326-7d88-4a79-a2a0-26e4aa008cf4', 'rel': 'bookmark'}]}, {'uuid': '723b4976-0c7e-4d86-8873-55b2a812a26f', 'instance_uuid': '0f1f9586-a373-4613-b380-1f324adebc12', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/723b4976-0c7e-4d86-8873-55b2a812a26f', 'rel': 'self'}, {'href': 'http://localhost/nodes/723b4976-0c7e-4d86-8873-55b2a812a26f', 'rel': 'bookmark'}]}, {'uuid': 'f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'instance_uuid': '7058c8ed-008a-4b1c-817a-0e3ec24ee4cb', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'rel': 'self'}, {'href': 'http://localhost/nodes/f04b3d12-72f7-4fca-aacb-a6c2cc55c382', 'rel': 'bookmark'}]}, {'uuid': '47537db2-2ef8-4192-bea4-1ce702c30d92', 'instance_uuid': '2d16f64c-e762-41f7-93e2-c5f40b3c4024', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/47537db2-2ef8-4192-bea4-1ce702c30d92', 'rel': 'self'}, {'href': 'http://localhost/nodes/47537db2-2ef8-4192-bea4-1ce702c30d92', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fields=driver_info,uuid {} GOT:{'nodes': [{'uuid': '8f295152-6bdd-4a9e-975a-c3b318d4cb4c', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/8f295152-6bdd-4a9e-975a-c3b318d4cb4c', 'rel': 'self'}, {'href': 'http://localhost/nodes/8f295152-6bdd-4a9e-975a-c3b318d4cb4c', 'rel': 'bookmark'}]}, {'uuid': 'a995d6e1-4b87-411a-b731-f21b988c8eea', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/a995d6e1-4b87-411a-b731-f21b988c8eea', 'rel': 'self'}, {'href': 'http://localhost/nodes/a995d6e1-4b87-411a-b731-f21b988c8eea', 'rel': 'bookmark'}]}, {'uuid': '45e3c664-1dd4-48e9-a7c3-288c4fe2ebdc', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/45e3c664-1dd4-48e9-a7c3-288c4fe2ebdc', 'rel': 'self'}, {'href': 'http://localhost/nodes/45e3c664-1dd4-48e9-a7c3-288c4fe2ebdc', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=45e3c664-1dd4-48e9-a7c3-288c4fe2ebdc'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'e699bbef-6b6a-4cba-9560-791a22e8fbb6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e699bbef-6b6a-4cba-9560-791a22e8fbb6', 'rel': 'self'}, {'href': 'http://localhost/nodes/e699bbef-6b6a-4cba-9560-791a22e8fbb6', 'rel': 'bookmark'}]}, {'uuid': '2b1808bd-3d76-4a18-bf0d-bb1dfe6accc7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2b1808bd-3d76-4a18-bf0d-bb1dfe6accc7', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b1808bd-3d76-4a18-bf0d-bb1dfe6accc7', 'rel': 'bookmark'}]}, {'uuid': 'ca2228f0-db47-423a-ac7c-bd76ed09e5b8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ca2228f0-db47-423a-ac7c-bd76ed09e5b8', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca2228f0-db47-423a-ac7c-bd76ed09e5b8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=ca2228f0-db47-423a-ac7c-bd76ed09e5b8'} GET: /v1/nodes?instance_uuid=20c4d334-6cce-4ef2-ab60-ad7cb479f329 {} GOT:{'nodes': [{'uuid': '28f8ad18-08e5-466a-8b6c-01d5b308c21b', 'instance_uuid': '20c4d334-6cce-4ef2-ab60-ad7cb479f329', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/28f8ad18-08e5-466a-8b6c-01d5b308c21b', 'rel': 'self'}, {'href': 'http://localhost/nodes/28f8ad18-08e5-466a-8b6c-01d5b308c21b', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02f742df-84b0-4978-8ff4-7fa0132c7419 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?sort_key=resource_class {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.061069s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.041487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.066465s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8985ab05-5044-4514-b02c-ffadbc204e09 X-Openstack-Ironic-Api-Maximum-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:{'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': '9a2db171-55ce-490f-a80c-73aa314bee5e', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9a2db171-55ce-490f-a80c-73aa314bee5e', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9a2db171-55ce-490f-a80c-73aa314bee5e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2dc7d24f-019a-45a2-a1c8-1e2883597fcf', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/2dc7d24f-019a-45a2-a1c8-1e2883597fcf', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/2dc7d24f-019a-45a2-a1c8-1e2883597fcf', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': '9a2db171-55ce-490f-a80c-73aa314bee5e', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9a2db171-55ce-490f-a80c-73aa314bee5e', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9a2db171-55ce-490f-a80c-73aa314bee5e', '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=9a2db171-55ce-490f-a80c-73aa314bee5e'} 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/52949728-59fc-4651-84c8-b0a16b469372 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1eeb61c-9d77-4abd-9ffe-471819530493 X-Openstack-Ironic-Api-Maximum-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-9bea503c-b3a9-44e0-8ff0-09783de3ba96 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": "2021-12-14T09:44:42.700238+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/3da6c7f2-0970-4ddc-aa50-7c5161cf93aa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-86bd8638-756a-4124-bd9d-0012e4308d4d 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 3da6c7f2-0970-4ddc-aa50-7c5161cf93aa 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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a894f4b3-c5de-4d6d-aa3c-7eff0b022470 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": "2021-12-14T09:44:42.823245+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/abc4e8ba-4a21-49b3-9c3a-6e1c790b6e1d [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-169c2c71-f85e-4bfe-b64b-f9f67bc97ad7 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}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.061876s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.055013s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.111493s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.068628s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.056881s] ... ok 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-5bfd0ca3-daf7-4e02-9a58-2b3bb1697fce 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-c09f1302-96ab-4a94-ac90-7f0f09c71e37 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': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-7103ee30-d380-4111-b75b-6d8851af0d32 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.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-18aba6ea-a792-410b-9dd0-621773227583 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': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-cde4a62c-b4c6-4635-a0e7-18c2ae76b0f1 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': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e690887e-aa06-4d54-9cec-82767d6d4c33 X-Openstack-Ironic-Api-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'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa7158d2-bbfa-4e7d-bba5-238b59cacae6 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': '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-0fe7d63a-8f05-4be9-b853-afd2fbdb7e15 X-Openstack-Ironic-Api-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': '2d593e7f-0096-410a-92f4-a4f6787f8fbd'} GOT:Response: 204 No Content Openstack-Request-Id: req-106cc7d0-3020-41fe-ab53-71e7342aaa95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 POST: /v1/nodes/node-39/vifs {'id': '393f5cb5-8eb5-4efc-b3a5-3b9a5961afa4'} GOT:Response: 204 No Content Openstack-Request-Id: req-e112aa82-b913-47e7-9b52-c1cc2894ed4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 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-799b2089-7364-4f3a-8aec-060834fced3b 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': 'abff4149-381b-4129-bc75-60a4fb830dd7'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2d55f3b-6976-4a9d-a28f-05610b7b0427 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 Failed validating 'required' in schema\", \"debuginfo\": null}"} 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-23015774-b467-4a95-b08e-909aa9d99b55 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?fields=name,read_only {} GOT:{'bios': [{'created_at': '2021-12-14T09:44:43.094853+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'}]}]} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8c6a653a-db70-47df-954d-459e15e7c072 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}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.027904s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.037552s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.028921s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.036475s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.043024s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.044845s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.035255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.035340s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.044483s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.045118s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.032120s] ... ok GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b668a64-0a1e-4505-be16-6c9b33f2adf9 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?instance_uuid=c9cb60e0-b7de-4c93-b101-d5e7520376b3 {} GOT:{'nodes': [{'uuid': '09afdd6e-0d80-4e6b-943b-95fc91a1b838', 'created_at': '2021-12-14T09:44:42.798203+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': 'c9cb60e0-b7de-4c93-b101-d5e7520376b3', '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/09afdd6e-0d80-4e6b-943b-95fc91a1b838', 'rel': 'self'}, {'href': 'http://localhost/nodes/09afdd6e-0d80-4e6b-943b-95fc91a1b838', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/09afdd6e-0d80-4e6b-943b-95fc91a1b838/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/09afdd6e-0d80-4e6b-943b-95fc91a1b838/ports', 'rel': 'bookmark'}]}]} 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=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-1b2615e8-1387-4b85-a3f8-0f955d0fc90d 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?fields=uuid,power_state,target_power_state,provision_state,target_provision_state,last_error,maintenance,instance_uuid,traits,resource_class {} GOT:{'nodes': [{'uuid': 'abc70430-9420-4ada-8b6f-eac6fd32702d', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '40845116-e471-48f6-b9b0-d3a371b6144f', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/abc70430-9420-4ada-8b6f-eac6fd32702d', 'rel': 'self'}, {'href': 'http://localhost/nodes/abc70430-9420-4ada-8b6f-eac6fd32702d', 'rel': 'bookmark'}]}, {'uuid': 'f329f8b2-1ac2-4fd5-ab5a-51352149ec41', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '973533cb-5bcc-4f26-a4b7-60605da0ce2a', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/f329f8b2-1ac2-4fd5-ab5a-51352149ec41', 'rel': 'self'}, {'href': 'http://localhost/nodes/f329f8b2-1ac2-4fd5-ab5a-51352149ec41', 'rel': 'bookmark'}]}, {'uuid': 'a5e72957-5636-4b51-912b-c75ff4ad23f1', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'dff39d00-2be6-4559-9b19-7f6ec934cbc7', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/a5e72957-5636-4b51-912b-c75ff4ad23f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5e72957-5636-4b51-912b-c75ff4ad23f1', '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-8c12823a-c062-4e88-aa29-4c1a156fa3f5 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8f998573-fe8b-476e-8b51-e8952998a1d6 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/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes?conductor=rocky.rocks {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '74ddfa49-a902-496b-aa0e-5481163ba686', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/74ddfa49-a902-496b-aa0e-5481163ba686', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ddfa49-a902-496b-aa0e-5481163ba686', 'rel': 'bookmark'}]}, {'uuid': '11c53b5d-1c43-41f9-b804-d11ef2669afe', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/11c53b5d-1c43-41f9-b804-d11ef2669afe', 'rel': 'self'}, {'href': 'http://localhost/nodes/11c53b5d-1c43-41f9-b804-d11ef2669afe', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '11c53b5d-1c43-41f9-b804-d11ef2669afe', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/11c53b5d-1c43-41f9-b804-d11ef2669afe', 'rel': 'self'}, {'href': 'http://localhost/nodes/11c53b5d-1c43-41f9-b804-d11ef2669afe', 'rel': 'bookmark'}]}]} 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-e2b7c1b7-e06e-4f1b-b8c7-9653bb9d2130 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?driver=ipmi {} GOT:{'nodes': [{'uuid': '96ca0f5b-4164-48f0-9718-75d6860e77e1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/96ca0f5b-4164-48f0-9718-75d6860e77e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/96ca0f5b-4164-48f0-9718-75d6860e77e1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': 'c2cdc8a5-9e59-418a-aef6-b1921762c6c2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c2cdc8a5-9e59-418a-aef6-b1921762c6c2', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2cdc8a5-9e59-418a-aef6-b1921762c6c2', 'rel': 'bookmark'}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.033385s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.023433s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.079649s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.036027s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-b06c6f9b-a24f-424a-8c23-3e5d57bcf6ec 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.1 GOT:Response: 204 No Content Openstack-Request-Id: req-c5ddda43-df39-4ac8-9553-46d380abdde8 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/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ea4ca96a-f8c3-403a-9fb6-6467b27d4da9 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/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-247d510a-7f9c-4b8f-9548-e9ec538a0e0e X-Openstack-Ironic-Api-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/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.322319+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?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.367179+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.042468s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.043098s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.037386s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.030967s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.031293s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.029164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.022416s] ... ok GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ebffd51f-718d-47de-8893-cdecfd76cf71 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?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f127f7f-1127-45ec-9c93-ef57a53620bd 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?lessee=project1 {} GOT:{'nodes': [{'uuid': '42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project2 {} GOT:{'nodes': [{'uuid': 'fbcd5bd5-67a4-43be-a436-7886e442f751', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project1 {} GOT:{'nodes': [{'uuid': '42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'created_at': '2021-12-14T09:44:43.404708+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/42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/42ec7e52-929a-4517-be0d-cefea7e5aeb3/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project2 {} GOT:{'nodes': [{'uuid': 'fbcd5bd5-67a4-43be-a436-7886e442f751', 'created_at': '2021-12-14T09:44:43.407756+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/fbcd5bd5-67a4-43be-a436-7886e442f751', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbcd5bd5-67a4-43be-a436-7886e442f751/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=fred {} GOT:{'nodes': [{'uuid': '949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': '63ec3649-4859-495a-b2ee-e99cde4d12c3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.075461s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.025505s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.023917s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.032613s] ... ok PATCH: /v1/nodes/8ec4a376-69c5-459f-8435-de9b8408771e [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95312ae1-8780-44f5-991f-bcff94890a95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8ec4a376-69c5-459f-8435-de9b8408771e", "created_at": "2021-12-14T09:44:42.939109+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/8ec4a376-69c5-459f-8435-de9b8408771e", "rel": "self"}, {"href": "http://localhost/nodes/8ec4a376-69c5-459f-8435-de9b8408771e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/ports", "rel": "self"}, {"href": "http://localhost/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/states", "rel": "self"}, {"href": "http://localhost/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/volume", "rel": "self"}, {"href": "http://localhost/nodes/8ec4a376-69c5-459f-8435-de9b8408771e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e73f60bc-6118-41ee-b0bb-79bfbf0802d9 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': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80d9090d-5adf-4cc8-934e-4bdadc212f43 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": "2021-12-14T09:44:43.066360+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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89822d30-2958-4a5a-a9b8-ca2814965ad2 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': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3780e173-9957-4c96-84fc-fc182ba86318 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': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.298764s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.042761s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.068488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.036067s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.048719s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.033547s] ... ok GOT:{'nodes': [{'uuid': '949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'created_at': '2021-12-14T09:44:43.490590+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/949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/949adf65-901a-4b23-bc5f-6dfd37acfbe7/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=bob {} GOT:{'nodes': [{'uuid': '63ec3649-4859-495a-b2ee-e99cde4d12c3', 'created_at': '2021-12-14T09:44:43.494207+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/63ec3649-4859-495a-b2ee-e99cde4d12c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/63ec3649-4859-495a-b2ee-e99cde4d12c3/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-26bd05b9-762f-4250-bcc7-df76a8969a6c 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-fd429f8e-f77a-491b-92b4-86c5146bede4 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?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab83d9bd-a4d3-446a-b2e5-ac4908b6d669 X-Openstack-Ironic-Api-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?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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.032334s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.028149s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.040929s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.031678s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.030847s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.054876s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.034225s] ... ok GOT:{'nodes': [{'uuid': '3f03008f-3615-4255-8164-b0c49dfa813d', 'created_at': '2021-12-14T09:44:43.190496+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/3f03008f-3615-4255-8164-b0c49dfa813d', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f03008f-3615-4255-8164-b0c49dfa813d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3f03008f-3615-4255-8164-b0c49dfa813d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f03008f-3615-4255-8164-b0c49dfa813d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3f03008f-3615-4255-8164-b0c49dfa813d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f03008f-3615-4255-8164-b0c49dfa813d/states', 'rel': 'bookmark'}]}, {'uuid': 'eb67d521-008c-4b4d-8176-ead9c49332bb', 'created_at': '2021-12-14T09:44:43.187486+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/eb67d521-008c-4b4d-8176-ead9c49332bb', 'rel': 'self'}, {'href': 'http://localhost/nodes/eb67d521-008c-4b4d-8176-ead9c49332bb', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/eb67d521-008c-4b4d-8176-ead9c49332bb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/eb67d521-008c-4b4d-8176-ead9c49332bb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/eb67d521-008c-4b4d-8176-ead9c49332bb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/eb67d521-008c-4b4d-8176-ead9c49332bb/states', 'rel': 'bookmark'}]}, {'uuid': '31d4ac4e-7b76-4c76-8d2b-f407d02a2e18', 'created_at': '2021-12-14T09:44:43.183922+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/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18', 'rel': 'self'}, {'href': 'http://localhost/nodes/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/31d4ac4e-7b76-4c76-8d2b-f407d02a2e18/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': []} GET: /v1/nodes/spam/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0bdd625a-bdf6-4a4b-8105-234bc2b78805 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,instance_info {} GOT:{'nodes': [{'uuid': '76246c75-1f4c-42be-956d-10dd12cd2350', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/76246c75-1f4c-42be-956d-10dd12cd2350', 'rel': 'self'}, {'href': 'http://localhost/nodes/76246c75-1f4c-42be-956d-10dd12cd2350', 'rel': 'bookmark'}]}, {'uuid': '34b82cbb-8c24-4ac6-a480-83fb4f7eb451', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/34b82cbb-8c24-4ac6-a480-83fb4f7eb451', 'rel': 'self'}, {'href': 'http://localhost/nodes/34b82cbb-8c24-4ac6-a480-83fb4f7eb451', 'rel': 'bookmark'}]}, {'uuid': '36b74bd2-0933-4fd4-b6fd-76874ff91d3d', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/36b74bd2-0933-4fd4-b6fd-76874ff91d3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/36b74bd2-0933-4fd4-b6fd-76874ff91d3d', '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:{'console_enabled': False, 'console_info': None} 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-85caeca8-1596-4ae1-b394-e28575754a3a 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=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-35f1765b-290b-48de-9a9f-6c4aa92b162b 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?description_contains=cat {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.040942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.023979s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.037914s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.036044s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.036100s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.067334s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.064902s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.034027s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.048147s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.642244+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/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.734375+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': '2021-12-14T09:44:43.734375+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/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.769448+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.044230s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.064528s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.039512s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.039973s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.040566s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.033149s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.099542s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.036092s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-160ae796-54dc-4f34-b79f-78183669a73f 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": "2021-12-14T09:44:43.293716+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': '/console_enabled', 'op': 'replace', 'value': True}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-106e4be5-8b81-45b2-ad98-5336fa190c47 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/23324399-e5ce-4552-a1d6-33259c7dead8 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acfa9aa9-22a2-47a9-acb3-608ab25945be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "23324399-e5ce-4552-a1d6-33259c7dead8", "created_at": "2021-12-14T09:44:43.635423+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/23324399-e5ce-4552-a1d6-33259c7dead8", "rel": "self"}, {"href": "http://localhost/nodes/23324399-e5ce-4552-a1d6-33259c7dead8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/23324399-e5ce-4552-a1d6-33259c7dead8/ports", "rel": "self"}, {"href": "http://localhost/nodes/23324399-e5ce-4552-a1d6-33259c7dead8/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/7acc9e88-3155-420f-ab8d-ecbb1909cedb [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1dd8d169-1262-42e2-8f15-de574a3544f4 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/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-1c33106b-2fad-44c5-841e-03df983dcb32 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/48f5ef7a-af2c-4a88-9357-59a284bd3af8 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a314baec-9d9d-4ba9-9700-4f4c1ca059f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "48f5ef7a-af2c-4a88-9357-59a284bd3af8", "created_at": "2021-12-14T09:44:43.850328+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/48f5ef7a-af2c-4a88-9357-59a284bd3af8", "rel": "self"}, {"href": "http://localhost/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/ports", "rel": "self"}, {"href": "http://localhost/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/states", "rel": "self"}, {"href": "http://localhost/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/volume", "rel": "self"}, {"href": "http://localhost/nodes/48f5ef7a-af2c-4a88-9357-59a284bd3af8/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.087943s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.040076s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.062652s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.033780s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.411336+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 {} 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/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-458ababf-2e63-494d-8422-183a55596b65 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=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d28d2ca5-3516-4e83-bc01-324242f277f0 X-Openstack-Ironic-Api-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/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} 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/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81d7d9ae-ac3f-45d1-b7e0-f88207fd5565 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?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a020aa94-0e63-402c-9bd2-aa10b3b540f8 X-Openstack-Ironic-Api-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?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/management/indicators/led@system {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6d598c7-bd0f-44d5-809d-67bbaa92ab28 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=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_group=group1 {} GOT:{'nodes': [{'uuid': '51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': 'faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.064546s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.769448+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?associated=true&maintenance=false {} GOT:{'nodes': [{'uuid': '563e1d8d-10d1-43b7-a4d4-40b004d2df44', 'instance_uuid': '1086b237-2d3a-4c60-b647-be71a18b7081', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/563e1d8d-10d1-43b7-a4d4-40b004d2df44', 'rel': 'self'}, {'href': 'http://localhost/nodes/563e1d8d-10d1-43b7-a4d4-40b004d2df44', 'rel': 'bookmark'}]}, {'uuid': 'ac900c63-ef43-4ef2-8f0a-dfe90e8f5233', 'instance_uuid': '46c1a698-83a3-4769-9788-6dba847c20d1', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ac900c63-ef43-4ef2-8f0a-dfe90e8f5233', 'rel': 'self'}, {'href': 'http://localhost/nodes/ac900c63-ef43-4ef2-8f0a-dfe90e8f5233', 'rel': 'bookmark'}]}, {'uuid': '092b05d8-4265-42b5-9ab0-3fdc7f965f43', 'instance_uuid': 'f02a9a32-77f5-4793-837e-3719ac36aea1', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/092b05d8-4265-42b5-9ab0-3fdc7f965f43', 'rel': 'self'}, {'href': 'http://localhost/nodes/092b05d8-4265-42b5-9ab0-3fdc7f965f43', 'rel': 'bookmark'}]}, {'uuid': '418841f7-a200-405f-b46d-b78f221faa78', 'instance_uuid': '7adb3b02-f935-4c42-8397-8b238ea32a47', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/418841f7-a200-405f-b46d-b78f221faa78', 'rel': 'self'}, {'href': 'http://localhost/nodes/418841f7-a200-405f-b46d-b78f221faa78', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '62bb1835-b7b0-41c3-806e-2c542b588c9c', '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': '62bb1835-b7b0-41c3-806e-2c542b588c9c', '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?instance_uuid=9c8d932e-757f-4cdc-9e74-8ba2bf42b34f {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.912653+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.037554s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.031331s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.912653+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': '2021-12-14T09:44:43.949645+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/034fea9e-3b0b-4189-bfc9-6d0b591d8816 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.032323s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.084091s] ... ok GOT:{'nodes': [{'uuid': 'b568403e-b98f-4f6b-ab08-9359638b50e2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b568403e-b98f-4f6b-ab08-9359638b50e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/b568403e-b98f-4f6b-ab08-9359638b50e2', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} GOT:{'nodes': [{'uuid': '6dfffb05-e765-4a85-959c-ced602d48f4f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6dfffb05-e765-4a85-959c-ced602d48f4f', 'rel': 'self'}, {'href': 'http://localhost/nodes/6dfffb05-e765-4a85-959c-ced602d48f4f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ceefdaf0-6064-4c1a-92cb-d0c5f3fb57eb 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-a6aac842-4087-4a99-b44b-e00e9e61af19 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?driver=test {} GOT:{'nodes': []} GET: /v1/nodes?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5e92f439-9d1d-4b01-bd89-922c3ca24c87 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-1f2ef8cc-f3d9-486a-a06f-5fbc96c996b5 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?provision_state=available {} GOT:{'nodes': [{'uuid': '9fe572fa-f04d-4b48-97d8-25619835c5f0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9fe572fa-f04d-4b48-97d8-25619835c5f0', 'rel': 'self'}, {'href': 'http://localhost/nodes/9fe572fa-f04d-4b48-97d8-25619835c5f0', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} GOT:{'nodes': [{'uuid': 'fdc67a35-d992-43ab-8a2c-6ca979aacee2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/fdc67a35-d992-43ab-8a2c-6ca979aacee2', 'rel': 'self'}, {'href': 'http://localhost/nodes/fdc67a35-d992-43ab-8a2c-6ca979aacee2', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0b228765-af95-4390-a1eb-bec16a74cc84 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/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a41f501-1e1e-4086-9de0-a16654941c8a X-Openstack-Ironic-Api-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': '2021-12-14T09:44:43.892248+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.032306s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.031984s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.035268s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.029610s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.031273s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.034919s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.927043+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:43.959038+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=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?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/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=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': 'e229feef-988c-4888-a867-33ea421525a6'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.123311+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.037226s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.044055s] ... ok GOT:{'nodes': [{'uuid': '51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'created_at': '2021-12-14T09:44:43.909351+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/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f68c9d-3a7e-4e6e-ab55-887b2c4d6b83/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': 'faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'created_at': '2021-12-14T09:44:43.913167+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/faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/faf7b5a6-893a-4e18-88f2-5c5a03f09506/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:{'nodes': [{'uuid': 'c9027e64-7f49-435b-8f17-1dd8696f6206', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': 'a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{'nodes': [{'uuid': 'c9027e64-7f49-435b-8f17-1dd8696f6206', 'created_at': '2021-12-14T09:44:43.970106+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/c9027e64-7f49-435b-8f17-1dd8696f6206', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9027e64-7f49-435b-8f17-1dd8696f6206/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=clean failure {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.059089s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.052867s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.073472s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.034790s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb7ae478-5a60-472e-8132-49afa3c147c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "1e2c249a-5164-4d59-ade8-f0a5ce43bae0", "created_at": "2021-12-14T09:44:43.927210+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/1e2c249a-5164-4d59-ade8-f0a5ce43bae0", "rel": "self"}, {"href": "http://localhost/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/ports", "rel": "self"}, {"href": "http://localhost/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/states", "rel": "self"}, {"href": "http://localhost/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/volume", "rel": "self"}, {"href": "http://localhost/nodes/1e2c249a-5164-4d59-ade8-f0a5ce43bae0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/34b94afc-483a-4582-8048-a8ff8e217217 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cfe49ad5-9bb7-4900-ae99-13cb8b848cca 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/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-f218d50d-984f-4635-b85c-4a0bb566ed98 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": "2021-12-14T09:44:44.042287+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/81008486-b53e-467d-a73e-4e516d040c34 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ad6d5a92-7fe8-4f7d-b412-b5aab13106b7 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/d30705c8-af33-4133-b97f-337f5021071a [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2fe2631b-f57a-4e3e-b8d8-71e1341d2934 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "d30705c8-af33-4133-b97f-337f5021071a", "created_at": "2021-12-14T09:44:44.155194+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/d30705c8-af33-4133-b97f-337f5021071a", "rel": "self"}, {"href": "http://localhost/nodes/d30705c8-af33-4133-b97f-337f5021071a", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d30705c8-af33-4133-b97f-337f5021071a/ports", "rel": "self"}, {"href": "http://localhost/nodes/d30705c8-af33-4133-b97f-337f5021071a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d30705c8-af33-4133-b97f-337f5021071a/states", "rel": "self"}, {"href": "http://localhost/nodes/d30705c8-af33-4133-b97f-337f5021071a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d30705c8-af33-4133-b97f-337f5021071a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d30705c8-af33-4133-b97f-337f5021071a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d30705c8-af33-4133-b97f-337f5021071a/volume", "rel": "self"}, {"href": "http://localhost/nodes/d30705c8-af33-4133-b97f-337f5021071a/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.072186s] ... ok GOT:{'uuid': '034fea9e-3b0b-4189-bfc9-6d0b591d8816', 'created_at': '2021-12-14T09:44:43.981838+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/034fea9e-3b0b-4189-bfc9-6d0b591d8816', 'rel': 'self'}, {'href': 'http://localhost/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/034fea9e-3b0b-4189-bfc9-6d0b591d8816/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.013346+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.036586s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.039244s] ... ok GOT:{'nodes': [{'uuid': 'a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'created_at': '2021-12-14T09:44:43.973210+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/a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a31c9ea0-6166-4a35-90b6-abc88ffd38f8/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes/detail?resource_class=foo {} GOT:{'nodes': [{'uuid': '4472b45c-c931-4186-96d6-624d141a599b', 'created_at': '2021-12-14T09:44:44.091545+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/4472b45c-c931-4186-96d6-624d141a599b', 'rel': 'self'}, {'href': 'http://localhost/nodes/4472b45c-c931-4186-96d6-624d141a599b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4472b45c-c931-4186-96d6-624d141a599b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4472b45c-c931-4186-96d6-624d141a599b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4472b45c-c931-4186-96d6-624d141a599b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4472b45c-c931-4186-96d6-624d141a599b/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': '39b86989-27cd-4804-b2f2-13675b842cab', 'created_at': '2021-12-14T09:44:44.094663+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/39b86989-27cd-4804-b2f2-13675b842cab', 'rel': 'self'}, {'href': 'http://localhost/nodes/39b86989-27cd-4804-b2f2-13675b842cab', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/39b86989-27cd-4804-b2f2-13675b842cab/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/39b86989-27cd-4804-b2f2-13675b842cab/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/39b86989-27cd-4804-b2f2-13675b842cab/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/39b86989-27cd-4804-b2f2-13675b842cab/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6ea93dff-5ce8-47b6-8c09-0f9058ae86d9 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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.035073s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.031991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.033600s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.046900s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.039540s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.064207s] ... ok PATCH: /v1/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025 [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea0a8b66-9806-4979-8ddd-21d4c10da69f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "fa5a8a9c-401e-4031-ae06-74cefd0d0025", "created_at": "2021-12-14T09:44:44.233250+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/fa5a8a9c-401e-4031-ae06-74cefd0d0025", "rel": "self"}, {"href": "http://localhost/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/ports", "rel": "self"}, {"href": "http://localhost/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/states", "rel": "self"}, {"href": "http://localhost/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/volume", "rel": "self"}, {"href": "http://localhost/nodes/fa5a8a9c-401e-4031-ae06-74cefd0d0025/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a03cfbfc-49d7-405c-8461-3a873f526793 [{'op': 'remove', 'path': '/retired'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a51a954-62cf-41ef-8d70-c07a512dfda6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "a03cfbfc-49d7-405c-8461-3a873f526793", "created_at": "2021-12-14T09:44:44.305848+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/a03cfbfc-49d7-405c-8461-3a873f526793", "rel": "self"}, {"href": "http://localhost/nodes/a03cfbfc-49d7-405c-8461-3a873f526793", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/ports", "rel": "self"}, {"href": "http://localhost/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/states", "rel": "self"}, {"href": "http://localhost/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/volume", "rel": "self"}, {"href": "http://localhost/nodes/a03cfbfc-49d7-405c-8461-3a873f526793/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18 [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.068271s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.061440s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.013346+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/ce74820a-0a90-4d50-bfca-a0892364a0dd {} GOT:{'uuid': 'ce74820a-0a90-4d50-bfca-a0892364a0dd', 'created_at': '2021-12-14T09:44:44.050403+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/ce74820a-0a90-4d50-bfca-a0892364a0dd', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce74820a-0a90-4d50-bfca-a0892364a0dd/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80 {} GOT:{'uuid': 'd9f6ef56-fdb5-4204-9dbd-46b274405c80', 'created_at': '2021-12-14T09:44:44.062018+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/d9f6ef56-fdb5-4204-9dbd-46b274405c80', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9f6ef56-fdb5-4204-9dbd-46b274405c80/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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.034494s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.031926s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.032550s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.031987s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.025932s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.034207s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.041473s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.065640s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-642c1f23-45b6-46d5-9b25-18d5a5f4370b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "bb001986-87fd-4a9a-9c1b-7651e5878c18", "created_at": "2021-12-14T09:44:44.369176+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/bb001986-87fd-4a9a-9c1b-7651e5878c18", "rel": "self"}, {"href": "http://localhost/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/ports", "rel": "self"}, {"href": "http://localhost/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/states", "rel": "self"}, {"href": "http://localhost/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/volume", "rel": "self"}, {"href": "http://localhost/nodes/bb001986-87fd-4a9a-9c1b-7651e5878c18/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-598a3816-f1ed-4c00-9bf2-bb9ecf060a84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e7f27f1c-7917-4702-9b1e-de6fd479f50b", "created_at": "2021-12-14T09:44:44.436412+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/e7f27f1c-7917-4702-9b1e-de6fd479f50b", "rel": "self"}, {"href": "http://localhost/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/states", "rel": "self"}, {"href": "http://localhost/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7f27f1c-7917-4702-9b1e-de6fd479f50b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.062057s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.123311+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': '2021-12-14T09:44:44.163485+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': '2021-12-14T09:44:44.163485+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 {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.204899+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.045121s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.044432s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.191855+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.225490+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/spam/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-430b1fce-ac9a-4fa4-b779-fdcfcfc30c55 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?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fb12371a-cc8e-49c8-864e-de391360e00d 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.051474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.050485s] ... ok 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 {} 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.157839+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': '2021-12-14T09:44:44.190134+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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-da922720-f24d-4126-93d0-3356d1b87908 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4b71aaba-509a-4995-8113-1b9c1fc1999a 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=uuid {} GOT:{'nodes': [{'uuid': '224c823d-8249-41c2-945d-bcd7f8568dc5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/224c823d-8249-41c2-945d-bcd7f8568dc5', 'rel': 'self'}, {'href': 'http://localhost/nodes/224c823d-8249-41c2-945d-bcd7f8568dc5', 'rel': 'bookmark'}]}, {'uuid': '24704ab4-33fc-4822-aa5c-cc010f230137', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/24704ab4-33fc-4822-aa5c-cc010f230137', 'rel': 'self'}, {'href': 'http://localhost/nodes/24704ab4-33fc-4822-aa5c-cc010f230137', 'rel': 'bookmark'}]}, {'uuid': '70dc093f-e478-4ad2-971f-0b1300912794', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/70dc093f-e478-4ad2-971f-0b1300912794', 'rel': 'self'}, {'href': 'http://localhost/nodes/70dc093f-e478-4ad2-971f-0b1300912794', 'rel': 'bookmark'}]}]} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': 'ae82c5de-acbe-4d68-8889-9ac8b02ecd16', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ae82c5de-acbe-4d68-8889-9ac8b02ecd16', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae82c5de-acbe-4d68-8889-9ac8b02ecd16', 'rel': 'bookmark'}]}, {'uuid': 'afcc78dc-0c52-4a85-a80b-7207fc2600d1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/afcc78dc-0c52-4a85-a80b-7207fc2600d1', 'rel': 'self'}, {'href': 'http://localhost/nodes/afcc78dc-0c52-4a85-a80b-7207fc2600d1', 'rel': 'bookmark'}]}, {'uuid': '3c4d94a6-2c4f-4ea8-b8d5-3d8ca4142465', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3c4d94a6-2c4f-4ea8-b8d5-3d8ca4142465', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4d94a6-2c4f-4ea8-b8d5-3d8ca4142465', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=false {} GOT:{'nodes': [{'uuid': '8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'rel': 'self'}, {'href': 'http://localhost/nodes/8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'rel': 'bookmark'}]}, {'uuid': 'cd199423-cc99-4585-b7ba-97098af8e390', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cd199423-cc99-4585-b7ba-97098af8e390', 'rel': 'self'}, {'href': 'http://localhost/nodes/cd199423-cc99-4585-b7ba-97098af8e390', 'rel': 'bookmark'}]}, {'uuid': '87071c72-05a7-4e6a-bd2b-183d35febdb5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/87071c72-05a7-4e6a-bd2b-183d35febdb5', 'rel': 'self'}, {'href': 'http://localhost/nodes/87071c72-05a7-4e6a-bd2b-183d35febdb5', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.128675s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.038558s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.030920s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.029291s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.043164s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.229001s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.063892s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.059569s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.044993s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.204899+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.251072+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': '2021-12-14T09:44:44.251072+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/14850f14-d249-42ac-bd84-be5124a16850 {} GOT:{'uuid': '14850f14-d249-42ac-bd84-be5124a16850', 'created_at': '2021-12-14T09:44:44.305040+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/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/14850f14-d249-42ac-bd84-be5124a16850 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.053462s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.053202s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.062220s] ... ok GOT:{'nodes': [{'uuid': '8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'rel': 'self'}, {'href': 'http://localhost/nodes/8494d9b1-e3ff-4413-a2e6-ed9bff9f3481', 'rel': 'bookmark'}]}, {'uuid': 'cd199423-cc99-4585-b7ba-97098af8e390', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cd199423-cc99-4585-b7ba-97098af8e390', 'rel': 'self'}, {'href': 'http://localhost/nodes/cd199423-cc99-4585-b7ba-97098af8e390', 'rel': 'bookmark'}]}, {'uuid': '87071c72-05a7-4e6a-bd2b-183d35febdb5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/87071c72-05a7-4e6a-bd2b-183d35febdb5', 'rel': 'self'}, {'href': 'http://localhost/nodes/87071c72-05a7-4e6a-bd2b-183d35febdb5', 'rel': 'bookmark'}]}]} GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0e8400d7-eca2-473e-9c74-7d8c42b1a343 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/history?detail=true {} GOT:{'history': [{'uuid': '1769319e-7447-4fd6-b2c5-f3a852713416', 'created_at': '2021-12-14T09:44:44.629360+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/1769319e-7447-4fd6-b2c5-f3a852713416', 'rel': 'self'}]}, {'uuid': '30f6f6e2-9262-4938-a38c-7d199590d517', 'created_at': '2021-12-14T09:44:44.630602+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/30f6f6e2-9262-4938-a38c-7d199590d517', 'rel': 'self'}]}, {'uuid': '0b8a6992-8348-4cb4-b0e3-8e9f311297fd', 'created_at': '2021-12-14T09:44:44.631494+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/0b8a6992-8348-4cb4-b0e3-8e9f311297fd', 'rel': 'self'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 {} GOT:{'history': [{'uuid': '88e058a7-cdbd-4c58-b1d6-544049573ae1', 'created_at': '2021-12-14T09:44:44.666048+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/88e058a7-cdbd-4c58-b1d6-544049573ae1', 'rel': 'self'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=88e058a7-cdbd-4c58-b1d6-544049573ae1 {} GOT:{'history': [{'uuid': '819d95ac-da14-4668-86ba-faec51173f06', 'created_at': '2021-12-14T09:44:44.667140+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/819d95ac-da14-4668-86ba-faec51173f06', 'rel': 'self'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=819d95ac-da14-4668-86ba-faec51173f06 {} GOT:{'history': [{'uuid': '358b56d9-941d-4daf-a455-317f74a15329', 'created_at': '2021-12-14T09:44:44.667957+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/358b56d9-941d-4daf-a455-317f74a15329', 'rel': 'self'}]}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9263c9ef-6f32-41ad-97b1-88c052f9a4e0 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": "2021-12-14T09:44:44.889652+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/39da5bf0-7f77-4497-af96-80f06fb40bcd [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42eddddd-e22b-412c-8864-a6cb7bc028ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "39da5bf0-7f77-4497-af96-80f06fb40bcd", "created_at": "2021-12-14T09:44:44.964369+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/39da5bf0-7f77-4497-af96-80f06fb40bcd", "rel": "self"}, {"href": "http://localhost/nodes/39da5bf0-7f77-4497-af96-80f06fb40bcd", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/39da5bf0-7f77-4497-af96-80f06fb40bcd/ports", "rel": "self"}, {"href": "http://localhost/nodes/39da5bf0-7f77-4497-af96-80f06fb40bcd/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-ca8555a4-b44e-452c-bc5f-1b360b8c873f 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/de34db74-dc7a-424d-93ea-63fbb779ae72 [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.036566s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.064952s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.067128s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21fe7a99-b461-4ceb-b5c5-51845da2f28f 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c82769ef-97c0-4bd8-bc52-5ddb02615456 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": "2021-12-14T09:44:45.096154+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/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-743d7945-fc68-4927-bdf3-1a49321a05ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cee772b9-05cf-4f9a-9bc9-82ffa67b8bca", "created_at": "2021-12-14T09:44:45.175045+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/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca", "rel": "self"}, {"href": "http://localhost/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/ports", "rel": "self"}, {"href": "http://localhost/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/states", "rel": "self"}, {"href": "http://localhost/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/volume", "rel": "self"}, {"href": "http://localhost/nodes/cee772b9-05cf-4f9a-9bc9-82ffa67b8bca/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66 [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.065875s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80f7e082-0784-4fcf-8a06-d9f002007c83 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": "2021-12-14T09:44:44.488834+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': {}, 'chassis_uuid': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-97f0da2f-a6af-4775-ae07-595804c14f55 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': '2222b301-47e0-4e1d-9bac-db048b7e5705', '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/2222b301-47e0-4e1d-9bac-db048b7e5705 Openstack-Request-Id: req-1046cdc8-1c34-4654-8ade-dee7822385e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "2222b301-47e0-4e1d-9bac-db048b7e5705", "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/2222b301-47e0-4e1d-9bac-db048b7e5705", "rel": "self"}, {"href": "http://localhost/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705/ports", "rel": "self"}, {"href": "http://localhost/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705/ports", "rel": "bookmark"}]} GET: /v1/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.091022s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.059770s] ... ok GOT:{'uuid': '2222b301-47e0-4e1d-9bac-db048b7e5705', '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/2222b301-47e0-4e1d-9bac-db048b7e5705', 'rel': 'self'}, {'href': 'http://localhost/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2222b301-47e0-4e1d-9bac-db048b7e5705/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-b69e7727-659e-4e87-98a4-4b1e1a7c8c25 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": "2021-12-14T09:44:44.667094+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': '2021-12-14T09:44:44.667094+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-918db1d8-30d4-49c8-86ee-22e7f9e07337 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": "2021-12-14T09:44:44.736897+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': '2021-12-14T09:44:44.736897+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.071347s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.070609s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.160992s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.035774s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.036332s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.389980+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': '2021-12-14T09:44:44.389980+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/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.434500+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': '2021-12-14T09:44:44.434500+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.045262s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.037691s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.061841s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.099517s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.071179s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.483221+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': '2021-12-14T09:44:44.483221+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?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e02c9312-3e00-4169-afc4-15e189de626f 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:{'nodes': [{'uuid': 'dcfdde99-d748-4afc-9fe7-02b2cc473ddc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/dcfdde99-d748-4afc-9fe7-02b2cc473ddc', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcfdde99-d748-4afc-9fe7-02b2cc473ddc', 'rel': 'bookmark'}]}, {'uuid': '91cb76da-d2d6-4223-9b3d-e80896597112', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/91cb76da-d2d6-4223-9b3d-e80896597112', 'rel': 'self'}, {'href': 'http://localhost/nodes/91cb76da-d2d6-4223-9b3d-e80896597112', 'rel': 'bookmark'}]}, {'uuid': '5b522663-74dc-47aa-8db8-8ed1951dc1e0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5b522663-74dc-47aa-8db8-8ed1951dc1e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b522663-74dc-47aa-8db8-8ed1951dc1e0', 'rel': 'bookmark'}]}, {'uuid': '079012ed-3103-43f1-808f-e96b516a96d7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/079012ed-3103-43f1-808f-e96b516a96d7', 'rel': 'self'}, {'href': 'http://localhost/nodes/079012ed-3103-43f1-808f-e96b516a96d7', 'rel': 'bookmark'}]}, {'uuid': 'c52a6c9c-0d34-457e-bdbb-25517695bcfd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c52a6c9c-0d34-457e-bdbb-25517695bcfd', 'rel': 'self'}, {'href': 'http://localhost/nodes/c52a6c9c-0d34-457e-bdbb-25517695bcfd', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'db2167c0-8588-404a-89ec-65247d31366a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/db2167c0-8588-404a-89ec-65247d31366a', 'rel': 'self'}, {'href': 'http://localhost/nodes/db2167c0-8588-404a-89ec-65247d31366a', 'rel': 'bookmark'}]}, {'uuid': '67ef5051-c8fc-4e7b-a2cb-3fb34856c837', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/67ef5051-c8fc-4e7b-a2cb-3fb34856c837', 'rel': 'self'}, {'href': 'http://localhost/nodes/67ef5051-c8fc-4e7b-a2cb-3fb34856c837', 'rel': 'bookmark'}]}, {'uuid': 'c0c992de-f891-4af3-a01f-dafbbef3e816', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/c0c992de-f891-4af3-a01f-dafbbef3e816', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0c992de-f891-4af3-a01f-dafbbef3e816', 'rel': 'bookmark'}]}, {'uuid': '1418c98c-998d-4682-95d6-94193d47338c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/1418c98c-998d-4682-95d6-94193d47338c', 'rel': 'self'}, {'href': 'http://localhost/nodes/1418c98c-998d-4682-95d6-94193d47338c', 'rel': 'bookmark'}]}, {'uuid': '67a86292-87d6-4ef5-9a5a-ad5c51bb78f8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/67a86292-87d6-4ef5-9a5a-ad5c51bb78f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/67a86292-87d6-4ef5-9a5a-ad5c51bb78f8', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.063504s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.072799s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.206506s] ... ok GOT:{'nodes': [{'uuid': '875328b5-b92f-4a63-bbeb-6f83871bf992', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/875328b5-b92f-4a63-bbeb-6f83871bf992', 'rel': 'self'}, {'href': 'http://localhost/nodes/875328b5-b92f-4a63-bbeb-6f83871bf992', 'rel': 'bookmark'}]}, {'uuid': '0975c41e-8b20-4f95-829c-139563c323ae', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0975c41e-8b20-4f95-829c-139563c323ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/0975c41e-8b20-4f95-829c-139563c323ae', 'rel': 'bookmark'}]}, {'uuid': 'a0997ca5-0aa6-4f1f-a5d0-cf4e7dcbd6b5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a0997ca5-0aa6-4f1f-a5d0-cf4e7dcbd6b5', 'rel': 'self'}, {'href': 'http://localhost/nodes/a0997ca5-0aa6-4f1f-a5d0-cf4e7dcbd6b5', 'rel': 'bookmark'}]}, {'uuid': 'f40a54a3-c4fa-4062-8139-ab1dd4fdc77d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f40a54a3-c4fa-4062-8139-ab1dd4fdc77d', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40a54a3-c4fa-4062-8139-ab1dd4fdc77d', 'rel': 'bookmark'}]}, {'uuid': 'ad152328-e741-44b3-8052-800b1bca930a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ad152328-e741-44b3-8052-800b1bca930a', 'rel': 'self'}, {'href': 'http://localhost/nodes/ad152328-e741-44b3-8052-800b1bca930a', 'rel': 'bookmark'}]}, {'uuid': 'ec01a12e-ade8-4af8-b4d6-ecdfa8080cf4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ec01a12e-ade8-4af8-b4d6-ecdfa8080cf4', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec01a12e-ade8-4af8-b4d6-ecdfa8080cf4', 'rel': 'bookmark'}]}]} GET: /v1/nodes/?limit=3&associated=True {} GOT:{'nodes': [{'uuid': 'dd1bc5e1-4d57-490e-b1d2-c3f33989fad2', 'instance_uuid': '8c6447c5-4fb6-48a0-8f0a-ad2d26f4e0cb', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/dd1bc5e1-4d57-490e-b1d2-c3f33989fad2', 'rel': 'self'}, {'href': 'http://localhost/nodes/dd1bc5e1-4d57-490e-b1d2-c3f33989fad2', 'rel': 'bookmark'}]}, {'uuid': '4356dfc8-479a-4cb6-a2b6-decb3f652e75', 'instance_uuid': 'cc4af05d-2893-472a-a54f-a1d2ad5ab80e', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4356dfc8-479a-4cb6-a2b6-decb3f652e75', 'rel': 'self'}, {'href': 'http://localhost/nodes/4356dfc8-479a-4cb6-a2b6-decb3f652e75', 'rel': 'bookmark'}]}, {'uuid': '05702422-33fd-4d84-be1b-c7bdd5e658df', 'instance_uuid': '336b201e-8de1-41ab-bfa4-5036b060ddf5', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/05702422-33fd-4d84-be1b-c7bdd5e658df', 'rel': 'self'}, {'href': 'http://localhost/nodes/05702422-33fd-4d84-be1b-c7bdd5e658df', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&associated=True&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=05702422-33fd-4d84-be1b-c7bdd5e658df'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.034313+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.033171s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.034856s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.069373+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': '2021-12-14T09:44:45.101470+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.101470+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.037584s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.039515s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9dcadd5d-3fee-454f-a434-6e073366c7fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e1c9c84e-336d-49dd-96c1-48a1230f0a66", "created_at": "2021-12-14T09:44:45.239162+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/e1c9c84e-336d-49dd-96c1-48a1230f0a66", "rel": "self"}, {"href": "http://localhost/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/ports", "rel": "self"}, {"href": "http://localhost/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/states", "rel": "self"}, {"href": "http://localhost/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/volume", "rel": "self"}, {"href": "http://localhost/nodes/e1c9c84e-336d-49dd-96c1-48a1230f0a66/volume", "rel": "bookmark"}]} 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-61ede758-8430-42f9-8bf1-12e6c847981e 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 [{'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-e8a068cd-dda4-4942-af2c-9ee23b2eb986 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 [{'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-126e2b63-5174-4fd9-9d0d-73fb22eebf17 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': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c72b3aee-c8e3-4943-b214-51da01eafed0 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 Failed validating 'required' in schema\", \"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-0cc02f13-c680-403c-8ff8-ccb323740944 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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/boot_interface', 'op': 'remove'}] GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.139560+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': '2021-12-14T09:44:45.139560+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': '2021-12-14T09:44:45.174499+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.034838s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.038347s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.174499+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': '2021-12-14T09:44:45.211602+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': '2021-12-14T09:44:45.211602+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.039041s] ... ok GOT:{'uuid': '14850f14-d249-42ac-bd84-be5124a16850', 'created_at': '2021-12-14T09:44:44.305040+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/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'bookmark'}]} GET: /nodes/14850f14-d249-42ac-bd84-be5124a16850 {} GOT:{'uuid': '14850f14-d249-42ac-bd84-be5124a16850', 'created_at': '2021-12-14T09:44:44.305040+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/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/14850f14-d249-42ac-bd84-be5124a16850/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.359324+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': '2021-12-14T09:44:44.359324+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/detail?limit=3&associated=true {} GOT:{'nodes': [{'uuid': '0a61dd73-0586-4777-8a00-0bccdb629c45', 'created_at': '2021-12-14T09:44:44.415427+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': 'fe0ee659-8b9c-49cb-90e4-33ad7c8903bc', '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/0a61dd73-0586-4777-8a00-0bccdb629c45', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a61dd73-0586-4777-8a00-0bccdb629c45', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0a61dd73-0586-4777-8a00-0bccdb629c45/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a61dd73-0586-4777-8a00-0bccdb629c45/ports', 'rel': 'bookmark'}]}, {'uuid': 'df697cee-6831-4a4e-bdec-f26762029c73', 'created_at': '2021-12-14T09:44:44.418007+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': '157f1b48-80f6-45b0-be26-aef5ae66c3bd', '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/df697cee-6831-4a4e-bdec-f26762029c73', 'rel': 'self'}, {'href': 'http://localhost/nodes/df697cee-6831-4a4e-bdec-f26762029c73', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/df697cee-6831-4a4e-bdec-f26762029c73/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/df697cee-6831-4a4e-bdec-f26762029c73/ports', 'rel': 'bookmark'}]}, {'uuid': 'fae19631-0a3b-4381-a1d3-5f3614d6f2e7', 'created_at': '2021-12-14T09:44:44.420746+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': 'dad7fb61-00dd-4f5c-8044-a20d7663aa4b', '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/fae19631-0a3b-4381-a1d3-5f3614d6f2e7', 'rel': 'self'}, {'href': 'http://localhost/nodes/fae19631-0a3b-4381-a1d3-5f3614d6f2e7', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/fae19631-0a3b-4381-a1d3-5f3614d6f2e7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fae19631-0a3b-4381-a1d3-5f3614d6f2e7/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=fae19631-0a3b-4381-a1d3-5f3614d6f2e7'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.218566s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.049132s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-63fee460-77e8-4c45-90f4-c9fbb11e9e70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-048a489d-8395-4b9e-8eb4-c21e9579c0bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ad89284-2842-426b-a7d6-fcf5e68e746b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ed03e2f-b9ba-4051-b0a9-d933cbf89535 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/management_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a8152803-5376-4991-b2f5-d1eec8da62fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3f4c27c-ab16-4662-8819-cd678eb093ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/raid_interface', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.173294s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.736897+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': '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-cd91008a-0b9b-42f7-9f19-d4b03151121c 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": "2021-12-14T09:44:44.799816+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.799816+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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.182904s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.106144s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.248888+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': '2021-12-14T09:44:45.248888+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/6d15502a-b7ce-4dab-81a7-affd220905de {} GOT:{'uuid': '6d15502a-b7ce-4dab-81a7-affd220905de', 'created_at': '2021-12-14T09:44:45.288700+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/6d15502a-b7ce-4dab-81a7-affd220905de', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d15502a-b7ce-4dab-81a7-affd220905de', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d15502a-b7ce-4dab-81a7-affd220905de/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.039869s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.032936s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.034669s] ... ok GOT:{'uuid': '98b72f94-6b09-45aa-8d06-6eabdc026c6f', 'created_at': '2021-12-14T09:44:45.300139+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/98b72f94-6b09-45aa-8d06-6eabdc026c6f', 'rel': 'self'}, {'href': 'http://localhost/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/98b72f94-6b09-45aa-8d06-6eabdc026c6f/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': '2021-12-14T09:44:45.360704+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': '2021-12-14T09:44:45.360704+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.035438s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5e9376c4-bc12-4513-a356-03ad3553c5d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3 [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18b48a4b-54d9-432f-90a9-0a00b569f74d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "created_at": "2021-12-14T09:44:45.647956+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/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b90dd539-2f42-457a-bc6c-9bc0a3576ea3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.057031s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.057539s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.195247s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.396246+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.396246+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': '2021-12-14T09:44:45.431393+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.120360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.043423s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.031073s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.067445s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.031332s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.029175s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.036838s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.651131+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/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5 {} GOT:{'uuid': '3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5', 'created_at': '2021-12-14T09:44:44.692224+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/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5', 'rel': 'self'}, {'href': 'http://localhost/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3d4e0d9f-82b6-485c-bec9-a1df7f0a4fd5/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588 {} GOT:{'uuid': 'fd6b5830-83ee-47ce-a471-d868f6eac588', 'created_at': '2021-12-14T09:44:44.704204+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/fd6b5830-83ee-47ce-a471-d868f6eac588', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd6b5830-83ee-47ce-a471-d868f6eac588/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.038825s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.030568s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-035f63b9-c33b-4609-95de-98187efc6cef 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': {}, '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-515d8a74-e9ca-4899-9936-ac1390920919 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": "2021-12-14T09:44:45.098014+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': '2021-12-14T09:44:45.098014+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': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.056108s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.041874s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.047958s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.065953s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a717268c-12f5-4a7d-a4eb-4f91adf0582a X-Openstack-Ironic-Api-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': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c15ccd79-e4ee-4b65-9727-1ec0a49dccf4 X-Openstack-Ironic-Api-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': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b263375c-9216-4d24-bdac-543477d46cf0 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": "2021-12-14T09:44:45.253944+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 {'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-6232fd82-a8a3-4958-87e9-110b0ed691e0 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': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-280751cc-3b9f-4f88-a931-5fb7759e9e62 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-5ca8cd1a-20fd-4a85-8971-a1240f199aac 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-bf27940e-54fa-4956-8bd8-836df46e74f0 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-e23bef15-1d1d-412a-bb1f-b8f70baf07a3 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}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.109871s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.055018s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.028734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.034043s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.028730s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.028746s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.044968s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.055712s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.733264+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': '2021-12-14T09:44:44.733264+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': '2021-12-14T09:44:44.770511+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.038699s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.042391s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66781532-ce1b-4c5d-b9ca-4a143f88fb66 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "3059b3ea-ca27-46aa-b986-36b4ed8ac94f", "created_at": "2021-12-14T09:44:45.820909+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/3059b3ea-ca27-46aa-b986-36b4ed8ac94f", "rel": "self"}, {"href": "http://localhost/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/ports", "rel": "self"}, {"href": "http://localhost/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/states", "rel": "self"}, {"href": "http://localhost/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/volume", "rel": "self"}, {"href": "http://localhost/nodes/3059b3ea-ca27-46aa-b986-36b4ed8ac94f/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-edd5258d-71bd-4db7-937b-ef28366a459e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "82de5eef-0e92-4c50-a87b-feafc388ab7e", "created_at": "2021-12-14T09:44:45.879103+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/82de5eef-0e92-4c50-a87b-feafc388ab7e", "rel": "self"}, {"href": "http://localhost/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/ports", "rel": "self"}, {"href": "http://localhost/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/states", "rel": "self"}, {"href": "http://localhost/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/volume", "rel": "self"}, {"href": "http://localhost/nodes/82de5eef-0e92-4c50-a87b-feafc388ab7e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a706bcf-021b-4eec-8d88-9829e54ef669 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "6d09f3df-1aac-4daf-9a86-f59470f2e81f", "created_at": "2021-12-14T09:44:45.966727+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/6d09f3df-1aac-4daf-9a86-f59470f2e81f", "rel": "self"}, {"href": "http://localhost/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/ports", "rel": "self"}, {"href": "http://localhost/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/states", "rel": "self"}, {"href": "http://localhost/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/volume", "rel": "self"}, {"href": "http://localhost/nodes/6d09f3df-1aac-4daf-9a86-f59470f2e81f/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e374d825-32e4-40f7-80ff-3eaad167de5f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3c33a671-4b53-4c62-9105-50bf8a8e205e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e374d825-32e4-40f7-80ff-3eaad167de5f", "created_at": "2021-12-14T09:44:46.147136+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/e374d825-32e4-40f7-80ff-3eaad167de5f", "rel": "self"}, {"href": "http://localhost/nodes/e374d825-32e4-40f7-80ff-3eaad167de5f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e374d825-32e4-40f7-80ff-3eaad167de5f/ports", "rel": "self"}, {"href": "http://localhost/nodes/e374d825-32e4-40f7-80ff-3eaad167de5f/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/a7186dde-8493-404e-ba6d-f3c4da315cf8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ecccca3-2d4d-4eab-b07e-edafd07bd14a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a7186dde-8493-404e-ba6d-f3c4da315cf8", "created_at": "2021-12-14T09:44:46.182326+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/a7186dde-8493-404e-ba6d-f3c4da315cf8", "rel": "self"}, {"href": "http://localhost/nodes/a7186dde-8493-404e-ba6d-f3c4da315cf8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a7186dde-8493-404e-ba6d-f3c4da315cf8/ports", "rel": "self"}, {"href": "http://localhost/nodes/a7186dde-8493-404e-ba6d-f3c4da315cf8/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/76bb0006-3813-437b-b35a-8df1335e0c6a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1915037a-0276-4d8c-8177-3826ddf4a7ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "76bb0006-3813-437b-b35a-8df1335e0c6a", "created_at": "2021-12-14T09:44:46.221970+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/76bb0006-3813-437b-b35a-8df1335e0c6a", "rel": "self"}, {"href": "http://localhost/nodes/76bb0006-3813-437b-b35a-8df1335e0c6a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/76bb0006-3813-437b-b35a-8df1335e0c6a/ports", "rel": "self"}, {"href": "http://localhost/nodes/76bb0006-3813-437b-b35a-8df1335e0c6a/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/826ae77d-fe78-4e02-8e8e-d7082a427e74 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eadadfd0-5fb7-47db-b20d-a2f03ffb2879 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "826ae77d-fe78-4e02-8e8e-d7082a427e74", "created_at": "2021-12-14T09:44:46.242116+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/826ae77d-fe78-4e02-8e8e-d7082a427e74", "rel": "self"}, {"href": "http://localhost/nodes/826ae77d-fe78-4e02-8e8e-d7082a427e74", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/826ae77d-fe78-4e02-8e8e-d7082a427e74/ports", "rel": "self"}, {"href": "http://localhost/nodes/826ae77d-fe78-4e02-8e8e-d7082a427e74/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/3a7587cf-a1bb-4903-a25f-53fa5bfa7e18 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05c9d911-4a9b-4062-bea2-886e387d0271 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "3a7587cf-a1bb-4903-a25f-53fa5bfa7e18", "created_at": "2021-12-14T09:44:46.261753+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/3a7587cf-a1bb-4903-a25f-53fa5bfa7e18", "rel": "self"}, {"href": "http://localhost/nodes/3a7587cf-a1bb-4903-a25f-53fa5bfa7e18", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3a7587cf-a1bb-4903-a25f-53fa5bfa7e18/ports", "rel": "self"}, {"href": "http://localhost/nodes/3a7587cf-a1bb-4903-a25f-53fa5bfa7e18/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/270cfe41-502d-4db8-8ec4-89f09f317872 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.296378s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.804976+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/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d {} GOT:{'uuid': '929fe8f4-822e-4fa1-8f4a-f7968d5cd62d', 'created_at': '2021-12-14T09:44:44.841530+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/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d', 'rel': 'self'}, {'href': 'http://localhost/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/929fe8f4-822e-4fa1-8f4a-f7968d5cd62d/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779 {} GOT:{'uuid': '6aba8041-04ab-4f96-a1d9-c2f2c676e779', 'created_at': '2021-12-14T09:44:44.854217+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/6aba8041-04ab-4f96-a1d9-c2f2c676e779', 'rel': 'self'}, {'href': 'http://localhost/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6aba8041-04ab-4f96-a1d9-c2f2c676e779/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.053844s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.034754s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9402096-e404-4a68-bf53-e6079b6d7208 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "270cfe41-502d-4db8-8ec4-89f09f317872", "created_at": "2021-12-14T09:44:46.281746+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/270cfe41-502d-4db8-8ec4-89f09f317872", "rel": "self"}, {"href": "http://localhost/nodes/270cfe41-502d-4db8-8ec4-89f09f317872", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/270cfe41-502d-4db8-8ec4-89f09f317872/ports", "rel": "self"}, {"href": "http://localhost/nodes/270cfe41-502d-4db8-8ec4-89f09f317872/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/50120c72-8f39-4454-897b-66c80e3db3c5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-09b9d28d-b48f-491a-b46a-039d5e986b64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "50120c72-8f39-4454-897b-66c80e3db3c5", "created_at": "2021-12-14T09:44:46.302701+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/50120c72-8f39-4454-897b-66c80e3db3c5", "rel": "self"}, {"href": "http://localhost/nodes/50120c72-8f39-4454-897b-66c80e3db3c5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/50120c72-8f39-4454-897b-66c80e3db3c5/ports", "rel": "self"}, {"href": "http://localhost/nodes/50120c72-8f39-4454-897b-66c80e3db3c5/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/d5e0569d-dedc-47e6-8813-184f0841308a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-619d960c-90f6-444a-9384-ca2ed4e34b12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d5e0569d-dedc-47e6-8813-184f0841308a", "created_at": "2021-12-14T09:44:46.329584+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/d5e0569d-dedc-47e6-8813-184f0841308a", "rel": "self"}, {"href": "http://localhost/nodes/d5e0569d-dedc-47e6-8813-184f0841308a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e0569d-dedc-47e6-8813-184f0841308a/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e0569d-dedc-47e6-8813-184f0841308a/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/eba71e27-06cd-4931-b07c-c3fdc70dcc95 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db315067-8c4d-4015-97f1-c71c2599746e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "eba71e27-06cd-4931-b07c-c3fdc70dcc95", "created_at": "2021-12-14T09:44:46.360966+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/eba71e27-06cd-4931-b07c-c3fdc70dcc95", "rel": "self"}, {"href": "http://localhost/nodes/eba71e27-06cd-4931-b07c-c3fdc70dcc95", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eba71e27-06cd-4931-b07c-c3fdc70dcc95/ports", "rel": "self"}, {"href": "http://localhost/nodes/eba71e27-06cd-4931-b07c-c3fdc70dcc95/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/0fe1f283-45e1-467f-8553-8f5e52f5ccd5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5411bff-9cba-4aaf-a36c-be8c6e28a563 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "0fe1f283-45e1-467f-8553-8f5e52f5ccd5", "created_at": "2021-12-14T09:44:46.380434+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/0fe1f283-45e1-467f-8553-8f5e52f5ccd5", "rel": "self"}, {"href": "http://localhost/nodes/0fe1f283-45e1-467f-8553-8f5e52f5ccd5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0fe1f283-45e1-467f-8553-8f5e52f5ccd5/ports", "rel": "self"}, {"href": "http://localhost/nodes/0fe1f283-45e1-467f-8553-8f5e52f5ccd5/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.053039s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.046049s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.044158s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.062918s] ... 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': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eba4b394-c116-4a35-8b0c-e43316286dfd 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-e3412306-501a-42cf-94ff-800973c77eb7 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-ff5d6277-263c-4391-87d0-f30d2fe9eb03 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-5007bc65-d8d6-43b0-b0bf-f5c85d5ce770 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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4933ea4d-61a5-41b7-ae51-1b69554e79d8 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) Failed validating 'additionalProperties' in schema\", \"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-5e9f68b1-1feb-4f69-8de4-7adeed98d24f 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/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-0832cf67-2f52-4924-a592-6f1bfd3f731e 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/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-d44c9996-c645-48e6-851c-3c2f082945fc 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/do_test {} GOT:foo PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-1ff82eaf-c1c9-40fd-8ac7-0fa738db9259 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': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15d72274-ff44-4616-99bb-fd2a5441d0a5 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc00e709-b504-4b51-ad5f-56829834785f 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-9b147577-f47d-4559-a7a2-cafdf9d6b8c6 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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.076613s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.041783s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.043660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.037466s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.044782s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.053840s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.055897s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.100416s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.040049s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.054926s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.045243s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.058549s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.050756s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.431393+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.645047+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/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': '0ff18690-5197-46c1-9238-12035206026f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0ff18690-5197-46c1-9238-12035206026f', 'rel': 'self'}, {'href': 'http://localhost/ports/0ff18690-5197-46c1-9238-12035206026f', 'rel': 'bookmark'}]}, {'uuid': '1cf1270e-c19f-42d3-bd35-9f0be1f14482', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1cf1270e-c19f-42d3-bd35-9f0be1f14482', 'rel': 'self'}, {'href': 'http://localhost/ports/1cf1270e-c19f-42d3-bd35-9f0be1f14482', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{'ports': [{'uuid': '0ff18690-5197-46c1-9238-12035206026f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0ff18690-5197-46c1-9238-12035206026f', 'rel': 'self'}, {'href': 'http://localhost/ports/0ff18690-5197-46c1-9238-12035206026f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=0ff18690-5197-46c1-9238-12035206026f'} GET: /v1/nodes/validate?node=spam {} GOT:{} GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5723b136-2b87-4ff9-98b1-bf341afe2775 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.842985+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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.029797s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.043983s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.042272s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.034060s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.033921s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.058309s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.035220s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.044064s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6a5ed7a1-7428-4ea7-9f28-0be5252d4d93 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "f1eac439-84c4-4e77-8285-a36bd5af6a5b", "created_at": "2021-12-14T09:44:46.430331+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/f1eac439-84c4-4e77-8285-a36bd5af6a5b", "rel": "self"}, {"href": "http://localhost/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/ports", "rel": "self"}, {"href": "http://localhost/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/states", "rel": "self"}, {"href": "http://localhost/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/volume", "rel": "self"}, {"href": "http://localhost/nodes/f1eac439-84c4-4e77-8285-a36bd5af6a5b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/05de1a08-3004-4dd2-ae1f-64ee5299e18a [{'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-ac954c33-4280-48f3-9084-4f7329c2588d 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/952c187b-d310-4e16-a92d-a725dc2065c1 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ad970fe5-a9ad-4ddd-ae4c-ad9c5e5508e8 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/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-4b0a1ff2-815a-44e3-8875-272b0566d48b 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": "2021-12-14T09:44:46.563722+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/232cbdf1-65b5-437b-8b10-97ab540ae2ca [{'path': '/protected', 'value': True, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.069925s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.059975s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.067576s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.890866+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': '2021-12-14T09:44:44.890866+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': '2021-12-14T09:44:44.939374+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.064714s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.053534s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-abb9e81d-81ff-457b-a936-d1f574beadd2 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': 'bios'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8495af5-c911-420d-bdc5-e837882c6383 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-60762d2d-119c-49fd-89ce-eb7fed9fb61b 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': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4765efdb-c3fe-477c-b258-21647029d3bc 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-247ea679-ea36-450c-9f0b-799c026af2a1 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f2a9e680-e955-4c47-9cfc-58d46fe1aa0a 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': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6d1fc364-8350-4df7-8cd2-25432954f590 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-e08c5356-56ca-499d-b1e7-2583a43e6152 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-a54d3011-01b0-429f-bff8-dbf404bb7723 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', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e85a3292-7579-45f5-8ef3-56b80054547f 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-8f5eb934-6c32-4def-9f79-cbef4c76ce06 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': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-91ca8508-dde4-4267-be86-5b7e27706813 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-3de5ef94-66f4-4619-8973-a0ede0a9d186 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-62fd2790-52fa-4a11-87e5-ec6a139d81be 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-f24f0ec5-9def-4cf4-b6a2-1dd2cfb40a81 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-626eedd3-b310-41d9-a964-c476006f4d00 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-3fe78234-9c9f-403c-9c9e-b492b025bfa0 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-55040baa-404d-4ffc-8e99-5790c52d87d6 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': 'provide', 'clean_steps': 'foo'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.046311s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.041494s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.039603s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.037152s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.038083s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.047220s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.036839s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.035902s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.036660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.189468s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.035816s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.040660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.037074s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.033041s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.031832s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.026567s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.029397s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.985501+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:44.985501+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': '2021-12-14T09:44:45.051731+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.053067s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.028729s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.116791s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.042532s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.047017s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.048740s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e9a7911-5b26-4c8a-a372-a0c8fd1b5a6d X-Openstack-Ironic-Api-Maximum-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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:{'history': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3506ecd9-b38c-4d11-86d7-8ca0362d26ee {} GOT:{'uuid': '3506ecd9-b38c-4d11-86d7-8ca0362d26ee', 'created_at': '2021-12-14T09:44:45.962003+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/3506ecd9-b38c-4d11-86d7-8ca0362d26ee', 'rel': 'self'}]} 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-5c4da1e0-49d1-4c0a-9b3f-1d9369086c9e 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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e809147-abb4-4175-b542-6999cf146f53 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/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6b826d1-6a7e-4d8b-8e32-4e863bf0664f 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-bc86bf46-8273-4d02-9280-9f82b1fdf077 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-dd69da75-a08b-443c-ae5b-e4b14b6a6103 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-b89b77be-2cdd-4da0-bcfb-0196f8d1310f 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-122ec420-4868-49ea-9455-efee8c8c8e46 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-525658e6-e9e6-4b04-9c49-4137eca77759 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/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-5286c5f1-53d5-4dca-8769-939211e96f57 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/229b1370-98ca-4236-a620-52b09c08f303 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '247f6857-6ecc-4e16-9b6d-001f011c2e92'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bda5b6dd-341c-4f70-847c-833b4d01991c X-Openstack-Ironic-Api-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}"} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f10f8a43-870c-4988-ba81-b10ae8a5316f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "232cbdf1-65b5-437b-8b10-97ab540ae2ca", "created_at": "2021-12-14T09:44:46.635270+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/232cbdf1-65b5-437b-8b10-97ab540ae2ca", "rel": "self"}, {"href": "http://localhost/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/ports", "rel": "self"}, {"href": "http://localhost/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/states", "rel": "self"}, {"href": "http://localhost/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/volume", "rel": "self"}, {"href": "http://localhost/nodes/232cbdf1-65b5-437b-8b10-97ab540ae2ca/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6bc05358-1bb9-45bb-9861-965acff083a4 [{'op': 'remove', 'path': '/protected'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9dfe4b33-2a3d-4a78-97eb-5527c851b769 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "6bc05358-1bb9-45bb-9861-965acff083a4", "created_at": "2021-12-14T09:44:46.705885+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/6bc05358-1bb9-45bb-9861-965acff083a4", "rel": "self"}, {"href": "http://localhost/nodes/6bc05358-1bb9-45bb-9861-965acff083a4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/ports", "rel": "self"}, {"href": "http://localhost/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/states", "rel": "self"}, {"href": "http://localhost/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/volume", "rel": "self"}, {"href": "http://localhost/nodes/6bc05358-1bb9-45bb-9861-965acff083a4/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c941c249-67a2-4783-a51c-20bc8cd78836 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e", "created_at": "2021-12-14T09:44:46.772607+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/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e", "rel": "self"}, {"href": "http://localhost/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/ports", "rel": "self"}, {"href": "http://localhost/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/states", "rel": "self"}, {"href": "http://localhost/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/volume", "rel": "self"}, {"href": "http://localhost/nodes/e0f37f8d-c3d8-4a2a-99ee-9290560e5d3e/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.069687s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.035616s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.046139s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.043356s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.035280s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.061142s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.059308s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.048618s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.039745s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:45.105977+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': '2021-12-14T09:44:45.105977+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'} GET: /v1/nodes/89ef0ed1-778d-43c2-a5d1-6ddd2bcd9eab/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/5e270d55-4997-4626-a992-ea52933ffd51/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?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:{'portgroups': [{'uuid': '51b8059f-52b2-4d02-9911-5c681303387b', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/51b8059f-52b2-4d02-9911-5c681303387b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/51b8059f-52b2-4d02-9911-5c681303387b', 'rel': 'bookmark'}]}, {'uuid': '3413be8f-d56f-46a4-bb78-21be1424c871', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/3413be8f-d56f-46a4-bb78-21be1424c871', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3413be8f-d56f-46a4-bb78-21be1424c871', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{'portgroups': [{'uuid': '51b8059f-52b2-4d02-9911-5c681303387b', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/51b8059f-52b2-4d02-9911-5c681303387b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/51b8059f-52b2-4d02-9911-5c681303387b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=51b8059f-52b2-4d02-9911-5c681303387b'} 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/ports {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.176835s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.107504s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.048136s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.045018s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.036935s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.040699s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.036582s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.064799s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.038021s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.039707s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.056151s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.042637s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.040737s] ... ok PATCH: /v1/nodes/5c586bc5-45e4-4dc5-896d-8df521000226 [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'a4590b92-e827-453a-8e59-6b76e3d7e8b2'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a7795ec-61f8-4206-bb82-0f46f3ddbcfe 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/1c8c3ee4-b028-4d99-afed-b49a1faa3378 [{'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-33041fcf-fac7-4cd2-890e-834a1cbb2063 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1c8c3ee4-b028-4d99-afed-b49a1faa3378", "created_at": "2021-12-14T09:44:46.246763+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/1c8c3ee4-b028-4d99-afed-b49a1faa3378", "rel": "self"}, {"href": "http://localhost/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/ports", "rel": "self"}, {"href": "http://localhost/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/states", "rel": "self"}, {"href": "http://localhost/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/volume", "rel": "self"}, {"href": "http://localhost/nodes/1c8c3ee4-b028-4d99-afed-b49a1faa3378/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/291920f6-84aa-452a-815b-ca501a508cef [] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb68db5b-1039-4fd2-a806-ebc8e6ac5d29 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "291920f6-84aa-452a-815b-ca501a508cef", "created_at": "2021-12-14T09:44:46.306044+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/291920f6-84aa-452a-815b-ca501a508cef", "rel": "self"}, {"href": "http://localhost/nodes/291920f6-84aa-452a-815b-ca501a508cef", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/291920f6-84aa-452a-815b-ca501a508cef/ports", "rel": "self"}, {"href": "http://localhost/nodes/291920f6-84aa-452a-815b-ca501a508cef/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/291920f6-84aa-452a-815b-ca501a508cef/states", "rel": "self"}, {"href": "http://localhost/nodes/291920f6-84aa-452a-815b-ca501a508cef/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/291920f6-84aa-452a-815b-ca501a508cef/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/291920f6-84aa-452a-815b-ca501a508cef/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/291920f6-84aa-452a-815b-ca501a508cef/volume", "rel": "self"}, {"href": "http://localhost/nodes/291920f6-84aa-452a-815b-ca501a508cef/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-b76eed63-90f0-419b-aeb2-662786b7bcc6 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-9fad282c-5678-4b45-9c15-4b1102b45987 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/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.034580s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.035443s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.067182s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.051185s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.031253s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.067876s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.044029s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.033656s] ... ok PATCH: /v1/nodes/0bd353d2-890e-4114-afb3-cb860575b781 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7aff108d-adec-4500-a374-5853274fddb7 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 Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} PATCH: /v1/nodes/d70620a7-cde5-4192-a9bb-32621018b297 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dd046d7d-156d-433d-84d5-9e85a2dbfb2c 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/7b753089-8c82-41dd-a5e2-b61c60ab7831 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-03e9b17e-b59e-44bd-a4b6-82b5196a5811 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}"} PATCH: /v1/nodes/4c2c4473-a062-469f-95bd-729564962e34 [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18317657-f4e6-4044-82d8-0fcfbb313edf X-Openstack-Ironic-Api-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': {}, '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-be5c6ba6-a7e9-4081-bb83-b0efaacf4b14 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": "2021-12-14T09:44:47.042644+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.060061s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.064252s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:47.042644+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': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ad496960-f20b-4daf-a558-37c2cbc4b1b8 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'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.038825s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.060149s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.037031s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a55e9bd-8cbe-4ed0-943c-09d9fc6d80c7 X-Openstack-Ironic-Api-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-b5996212-2f54-41c4-8056-6da4ecbc9aad 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-8bdd2477-dec8-401a-ac32-0d704f2b5b34 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": "2021-12-14T09:44:46.513600+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': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dfcfa483-265b-4991-b89f-f7b6af0ccfb7 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': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a6867e1-ac5a-4709-ae42-c326feaf0e3a 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': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-847bc95e-3b3e-4a03-ab58-2d992981502e 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": "2021-12-14T09:44:46.663870+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-92b558e8-8b05-45fe-ad34-8ed67059e39c 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': '/name', 'value': 'new name', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e129b87d-74f5-42d8-9227-6d8f5afc84b4 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/f7fffe52-ec66-4410-9120-29b298a90b1c [{'path': '/network_interface', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.071891s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.081653s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.037883s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-577a4b44-5426-4a6f-9c46-e402091c5123 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', 'configdrive': ['aabb']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80788584-9f98-439d-82d9-b056b33cb082 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': 'rebuild'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4bd48182-e495-49bd-a613-b548162ce724 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e58e9ad-0e1a-4878-87d8-d944c1370b3a 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/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1a6fe1e6-937f-40e9-99a8-e56a72c42f5b 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': False} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-94cbff4a-c6c3-497a-ae75-cb2d9ebe2270 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': True} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2d8d6271-7f48-4f52-91fa-75b1cf57ff6a 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?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-98a47c0f-ee42-419b-b318-1ac9ff7a4024 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/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2432e639-b6fd-4da8-be03-d3004fb3128c 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 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e97b590-4240-43e0-9731-af56b10b1e05 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/states/console {'enabled': 'true'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-763f1cf0-7235-4ee0-a363-263897106bf1 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/management/indicators/led@system {'state': 'on'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-255098f9-3f07-4f26-81ab-54ac3edeacbd 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}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-0bfd18d5-be0c-4fc9-aef0-e19881152217 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-2adce0cf-503f-44b8-befb-0ae649cd07b7 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-eda56bf0-c104-41a7-a662-2cbe581e2cba 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-db77ffc3-ffaf-4fca-bcd6-9eddc6b7208f 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/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-13f7a0e0-4948-47b7-9f5d-ce597781e0ab 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/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0ac6217-20ae-44cb-911d-f7c4bbafdd20 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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.035806s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.014930s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.013572s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.034854s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.028682s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.052617s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.026916s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.056787s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.048684s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.037042s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.047818s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.053593s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.044533s] ... ok GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': 'ff91a7b0-1120-45e5-95b0-706a96f741de', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ff91a7b0-1120-45e5-95b0-706a96f741de', 'rel': 'self'}, {'href': 'http://localhost/nodes/ff91a7b0-1120-45e5-95b0-706a96f741de', 'rel': 'bookmark'}]}, {'uuid': '071b923a-c657-40a8-acca-2880c217f233', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/071b923a-c657-40a8-acca-2880c217f233', 'rel': 'self'}, {'href': 'http://localhost/nodes/071b923a-c657-40a8-acca-2880c217f233', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=071b923a-c657-40a8-acca-2880c217f233'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{'connectors': [{'uuid': 'b43be90c-2336-4ac1-8761-e03c96d9e2cb', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b43be90c-2336-4ac1-8761-e03c96d9e2cb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b43be90c-2336-4ac1-8761-e03c96d9e2cb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ae5b0b82-a070-449f-bc77-f5f3f75c2711', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ae5b0b82-a070-449f-bc77-f5f3f75c2711', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ae5b0b82-a070-449f-bc77-f5f3f75c2711', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': 'b43be90c-2336-4ac1-8761-e03c96d9e2cb', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b43be90c-2336-4ac1-8761-e03c96d9e2cb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b43be90c-2336-4ac1-8761-e03c96d9e2cb', '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=b43be90c-2336-4ac1-8761-e03c96d9e2cb'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:{'history': [{'uuid': 'f6611b7b-5b0c-4524-af5e-80079c5c0943', 'created_at': '2021-12-14T09:44:46.047708+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f6611b7b-5b0c-4524-af5e-80079c5c0943', 'rel': 'self'}]}, {'uuid': '3ca8f99c-2b99-44a4-afc4-4000841387ec', 'created_at': '2021-12-14T09:44:46.049187+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3ca8f99c-2b99-44a4-afc4-4000841387ec', 'rel': 'self'}]}, {'uuid': 'd43491ef-53f1-40d7-85b7-963bf5bddef2', 'created_at': '2021-12-14T09:44:46.050332+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d43491ef-53f1-40d7-85b7-963bf5bddef2', 'rel': 'self'}]}]} 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/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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6452605f-af71-40b4-8e62-42be85f67f09 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": "2021-12-14T09:44:46.198862+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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1ad94d0e-52de-4658-bc82-ba775ab7c02c 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/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-56ea0640-a27f-45ba-be00-d8b6449b9c78 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/f0f3e9a8-5b56-4127-893a-a6b9e209b959 [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-54b3adbf-c437-4706-a744-8b051a1a1b9e 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/5cedefab-58d5-4eeb-b2e6-f81ddc8d7926 [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d2efe7d-40ef-43f3-828f-85d3a2a96e98 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}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.071540s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.061158s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.079930s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6b1bebc1-3fc3-46a9-906f-08c3792fe7e8 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 Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97eaddd8-cafe-46b1-8b83-61cdd6d4a0cc 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}"} GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6c688c05-34ec-41b4-a9ee-ea8b482f0aee 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?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:47.418649+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-1e3117d0-ab2c-4db5-82c2-b6495ab75679 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/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:47.505610+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fe20577f-15fb-41f2-b8a1-b8d916e0971e 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:47.599565+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': '2021-12-14T09:44:47.599565+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': '2021-12-14T09:44:47.646109+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': '2021-12-14T09:44:47.646109+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': '2021-12-14T09:44:47.690498+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': '2021-12-14T09:44:47.690498+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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72ae1211-b1b8-46ad-b07d-df211b388bd2 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}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.047224s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.043757s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.026728s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.027614s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.040891s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.083356s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.059219s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.037993s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.029987s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.031460s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.034437s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.025507s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.037352s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60ddfe69-bc61-411c-b3f8-5a133bc53ae5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f7fffe52-ec66-4410-9120-29b298a90b1c", "created_at": "2021-12-14T09:44:46.821211+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/f7fffe52-ec66-4410-9120-29b298a90b1c", "rel": "self"}, {"href": "http://localhost/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/ports", "rel": "self"}, {"href": "http://localhost/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/states", "rel": "self"}, {"href": "http://localhost/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/volume", "rel": "self"}, {"href": "http://localhost/nodes/f7fffe52-ec66-4410-9120-29b298a90b1c/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/f3fbb916-ef76-438d-911b-0515185e9409 [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4627aeb5-1fa3-4078-98be-830e5a42c65d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f3fbb916-ef76-438d-911b-0515185e9409", "created_at": "2021-12-14T09:44:46.909990+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/f3fbb916-ef76-438d-911b-0515185e9409", "rel": "self"}, {"href": "http://localhost/nodes/f3fbb916-ef76-438d-911b-0515185e9409", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f3fbb916-ef76-438d-911b-0515185e9409/ports", "rel": "self"}, {"href": "http://localhost/nodes/f3fbb916-ef76-438d-911b-0515185e9409/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f3fbb916-ef76-438d-911b-0515185e9409/states", "rel": "self"}, {"href": "http://localhost/nodes/f3fbb916-ef76-438d-911b-0515185e9409/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f3fbb916-ef76-438d-911b-0515185e9409/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f3fbb916-ef76-438d-911b-0515185e9409/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f3fbb916-ef76-438d-911b-0515185e9409/volume", "rel": "self"}, {"href": "http://localhost/nodes/f3fbb916-ef76-438d-911b-0515185e9409/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b61a446a-b58e-4754-b83d-ff484ff0e8cc [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76f9e808-0eb3-4958-8c92-67a2f1ed4a3f 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}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.049668s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.076684s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.036377s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.045798s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b55a46c-8bf8-4ccc-9c1c-c2c6a953dae3 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": "2021-12-14T09:44:46.446929+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/2eeeac60-3ad6-4feb-86e6-75a687be42fa [{'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-768dada4-484e-4ad0-9807-91376b15c7ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2eeeac60-3ad6-4feb-86e6-75a687be42fa", "created_at": "2021-12-14T09:44:46.522808+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/2eeeac60-3ad6-4feb-86e6-75a687be42fa", "rel": "self"}, {"href": "http://localhost/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/ports", "rel": "self"}, {"href": "http://localhost/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/states", "rel": "self"}, {"href": "http://localhost/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/volume", "rel": "self"}, {"href": "http://localhost/nodes/2eeeac60-3ad6-4feb-86e6-75a687be42fa/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea8f1066-eede-4097-9884-c56c8975411f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1a0d6d02-753f-4956-89dc-944d1efa1839", "created_at": "2021-12-14T09:44:46.591860+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/1a0d6d02-753f-4956-89dc-944d1efa1839", "rel": "self"}, {"href": "http://localhost/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/ports", "rel": "self"}, {"href": "http://localhost/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/states", "rel": "self"}, {"href": "http://localhost/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/volume", "rel": "self"}, {"href": "http://localhost/nodes/1a0d6d02-753f-4956-89dc-944d1efa1839/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a0a6418c-7841-44d6-9660-051043e7869f [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.075149s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.039030s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.041450s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.037343s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.063662s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.053458s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.043509s] ... 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec588c9e-7a6f-45c7-9301-00f0d84ad34c 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 {'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: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-36cba8f9-c83c-485f-9398-20287af613db 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": "2021-12-14T09:44:47.205956+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': '2021-12-14T09:44:47.205956+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 {'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-280b1a4c-7794-4565-80bc-800c6f1389e5 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}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.088384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.037679s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c57c886-59df-4ccf-b200-d211c41a2bbe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a0a6418c-7841-44d6-9660-051043e7869f", "created_at": "2021-12-14T09:44:46.673911+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/a0a6418c-7841-44d6-9660-051043e7869f", "rel": "self"}, {"href": "http://localhost/nodes/a0a6418c-7841-44d6-9660-051043e7869f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a0a6418c-7841-44d6-9660-051043e7869f/ports", "rel": "self"}, {"href": "http://localhost/nodes/a0a6418c-7841-44d6-9660-051043e7869f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a0a6418c-7841-44d6-9660-051043e7869f/states", "rel": "self"}, {"href": "http://localhost/nodes/a0a6418c-7841-44d6-9660-051043e7869f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a0a6418c-7841-44d6-9660-051043e7869f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a0a6418c-7841-44d6-9660-051043e7869f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a0a6418c-7841-44d6-9660-051043e7869f/volume", "rel": "self"}, {"href": "http://localhost/nodes/a0a6418c-7841-44d6-9660-051043e7869f/volume", "rel": "bookmark"}]} 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-85ff4a57-b325-418e-89c4-4bb5886a337b X-Openstack-Ironic-Api-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/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-b915e124-5a53-4f3a-90e5-1f568e9e6ac1 X-Openstack-Ironic-Api-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': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d678d839-3967-49c3-a104-b438e492f79e 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/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2d8025ae-2135-4527-bfe1-8fdbaa004594 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": "2021-12-14T09:44:46.847314+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-c462921f-2634-414e-9b0b-a3ec0d844c19 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/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-5483296e-01dc-4307-b290-db628ea1fcdf 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/bf9a299e-ebb6-4f65-b352-36f2c0a70343 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.076613s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.042388s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.036264s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.144129s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.039036s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7069950-c19e-433f-a0d7-4c6a90f8c19f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "bf9a299e-ebb6-4f65-b352-36f2c0a70343", "created_at": "2021-12-14T09:44:47.017812+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/bf9a299e-ebb6-4f65-b352-36f2c0a70343", "rel": "self"}, {"href": "http://localhost/nodes/bf9a299e-ebb6-4f65-b352-36f2c0a70343", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bf9a299e-ebb6-4f65-b352-36f2c0a70343/ports", "rel": "self"}, {"href": "http://localhost/nodes/bf9a299e-ebb6-4f65-b352-36f2c0a70343/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/1bb92493-c50b-46a2-ae20-39012c51eb2c [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0b9c9836-a827-4eb8-8fb6-2d731da4b297 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/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-79334fc0-efc1-41ec-8e13-bf870fe60159 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f1f4cfad-d94a-4d29-8a76-a5420b74d85d 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-04b5eb8e-01b1-4773-9884-6bd1060510e7 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3b6a3b1a-b85e-43ef-9a20-ee12faf989b2 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-434ec505-93ba-4aee-a54c-6689e3f79d39 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3789b4b1-4107-482b-9338-01458f9d1f2a 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-519be879-3eef-4158-add9-d013f48bd7fd 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2013b8df-d654-41ef-a3f2-f3522cdc0a8a 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/6a93c28d-7956-4af0-a911-6d3a6e529e50 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ae983129-8fbf-433c-94ae-672c8bad9c1f 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/f40710f1-54b3-47ac-91a8-3545fe3dadd0 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3135e68d-34c2-4534-bb2e-bdcc6740766d 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}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.082391s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.072194s] ... ok PATCH: /v1/nodes/b7c2e630-7037-41ba-acec-b4890e43732b [{'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-c53954fa-b156-497d-8016-935f7f0438b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "b7c2e630-7037-41ba-acec-b4890e43732b", "created_at": "2021-12-14T09:44:47.359096+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/b7c2e630-7037-41ba-acec-b4890e43732b", "rel": "self"}, {"href": "http://localhost/nodes/b7c2e630-7037-41ba-acec-b4890e43732b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/ports", "rel": "self"}, {"href": "http://localhost/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/states", "rel": "self"}, {"href": "http://localhost/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/volume", "rel": "self"}, {"href": "http://localhost/nodes/b7c2e630-7037-41ba-acec-b4890e43732b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/42203678-3a3a-4172-9e33-3f219e510e70 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7bc0fb3-e5b2-4844-a893-a04128c5fb97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "42203678-3a3a-4172-9e33-3f219e510e70", "created_at": "2021-12-14T09:44:47.441170+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/42203678-3a3a-4172-9e33-3f219e510e70", "rel": "self"}, {"href": "http://localhost/nodes/42203678-3a3a-4172-9e33-3f219e510e70", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/42203678-3a3a-4172-9e33-3f219e510e70/ports", "rel": "self"}, {"href": "http://localhost/nodes/42203678-3a3a-4172-9e33-3f219e510e70/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/42203678-3a3a-4172-9e33-3f219e510e70/states", "rel": "self"}, {"href": "http://localhost/nodes/42203678-3a3a-4172-9e33-3f219e510e70/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/42203678-3a3a-4172-9e33-3f219e510e70/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/42203678-3a3a-4172-9e33-3f219e510e70/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/42203678-3a3a-4172-9e33-3f219e510e70/volume", "rel": "self"}, {"href": "http://localhost/nodes/42203678-3a3a-4172-9e33-3f219e510e70/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/166bc92c-4f5f-4c45-bbb4-43c08796bf75 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.047547s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.064298s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.067748s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.072135s] ... 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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-67f09656-f532-4990-b971-cf7c4e17855e 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": "2021-12-14T09:44:47.320250+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': '2021-12-14T09:44:47.320250+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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-16d0fd65-fc80-44cf-9c66-e966157238ab 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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.060874s] ... ok GET: /v1/ports {} GOT:{'ports': []} 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=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad720ee6-c570-4fe8-896e-446f238c207b 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}"} 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=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dd02da35-3b9f-4ec8-a57a-bb65852f180a 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': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3fa9759b-5d6e-47bc-9910-e80657e7387d 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": "2021-12-14T09:44:47.997539+00:00", "updated_at": "2021-12-14T09:44:48.025920+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-8d223353-9240-47f7-bf6e-fdab30002dd4 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": "2021-12-14T09:44:48.062240+00:00", "updated_at": "2021-12-14T09:44:48.086196+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-9f5ef78f-65af-46f4-b775-74abec1757e2 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', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ba95c575-f43f-4b56-aa46-3257bd8afd83 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:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e87c4943-8561-4dc3-a69e-11acd3713f2e 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': '/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-265e9986-e033-4a46-a104-308eef58f663 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": "2021-12-14T09:44:48.211716+00:00", "updated_at": "2021-12-14T09:44:48.221935+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-1ea4152f-7be9-476b-b8c0-6f46a0931370 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-00172061-af49-4227-b4a9-7cc42aa7d5fc 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': '2735f97e-4b06-4c48-a045-c38a001d95fa', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-30e4f2b7-ac14-4e75-820a-26ed47c095c4 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": "2021-12-14T09:44:48.317828+00:00", "updated_at": "2021-12-14T09:44:48.330195+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": "2735f97e-4b06-4c48-a045-c38a001d95fa"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.034567s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.015016s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.028659s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.058063s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.057938s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.028687s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.025806s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.026760s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8c9f30c3-884c-4cc0-b960-dfd021569165 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 \\\"166bc92c-4f5f-4c45-bbb4-43c08796bf75\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/a2ba2da2-43b1-4afa-8232-ecf5ddac0275 [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c21714b-9649-4e43-83a2-a4a292834d91 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/1bdf2006-9774-4a80-9a75-eb98c87b8b8d [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96b62538-0cd7-465c-a05e-1d618caef4e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "1bdf2006-9774-4a80-9a75-eb98c87b8b8d", "created_at": "2021-12-14T09:44:47.629254+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/1bdf2006-9774-4a80-9a75-eb98c87b8b8d", "rel": "self"}, {"href": "http://localhost/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/ports", "rel": "self"}, {"href": "http://localhost/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/states", "rel": "self"}, {"href": "http://localhost/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/volume", "rel": "self"}, {"href": "http://localhost/nodes/1bdf2006-9774-4a80-9a75-eb98c87b8b8d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622 [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea6f782a-4d0d-45db-9563-1c9fdd7934f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "84377bbd-3ac5-4f24-8f75-4a736e28c622", "created_at": "2021-12-14T09:44:47.696782+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/84377bbd-3ac5-4f24-8f75-4a736e28c622", "rel": "self"}, {"href": "http://localhost/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/ports", "rel": "self"}, {"href": "http://localhost/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/states", "rel": "self"}, {"href": "http://localhost/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/volume", "rel": "self"}, {"href": "http://localhost/nodes/84377bbd-3ac5-4f24-8f75-4a736e28c622/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': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.072482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.043621s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.055265s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.039440s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.057333s] ... ok PATCH: /v1/nodes/adf627a8-3697-46d3-adb4-740ffab17665 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79fd0d88-764e-4768-8666-a8ea79329997 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/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-0448a71d-d3ce-4b81-98dd-cdb3a6371a55 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/0e3d015f-cdea-4cd9-8fcb-956931184e7f [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-66c8fd53-417d-428f-9709-26e02c46491f 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 \\\"0e3d015f-cdea-4cd9-8fcb-956931184e7f\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23b2bbe1-fe67-4d69-9b37-88b116a50511 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-288190fd-b5d5-4d9e-9529-f20f9ab96943 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1874d8c7-dde5-4506-a4df-60b0764fa802 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-585c62e6-9b6f-45f6-8286-f2b9c91cd1c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c253b86f-4a0b-492b-80ae-20635d3261ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-82035b76-fc4d-4f70-bd33-2373d0537399 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.193492s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.063707s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b08a7e9-2488-4b4c-aff3-099206726bbd 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": "2021-12-14T09:44:48.355281+00:00", "updated_at": "2021-12-14T09:44:48.365698+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': {'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-09a198bf-359f-47f5-a12b-90f010a97793 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": "2021-12-14T09:44:48.459909+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': '2021-12-14T09:44:48.459909+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 {'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/824f214a-c442-4316-b3e4-c974be2cbebe Openstack-Request-Id: req-63d3c25e-d261-40a9-94cc-96c383d55bee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "824f214a-c442-4316-b3e4-c974be2cbebe", "created_at": "2021-12-14T09:44:48.511890+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/824f214a-c442-4316-b3e4-c974be2cbebe", "rel": "self"}, {"href": "http://localhost/ports/824f214a-c442-4316-b3e4-c974be2cbebe", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/824f214a-c442-4316-b3e4-c974be2cbebe {} GOT:{'uuid': '824f214a-c442-4316-b3e4-c974be2cbebe', 'created_at': '2021-12-14T09:44:48.511890+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/824f214a-c442-4316-b3e4-c974be2cbebe', 'rel': 'self'}, {'href': 'http://localhost/ports/824f214a-c442-4316-b3e4-c974be2cbebe', '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-ff9072e7-67e2-45ca-a042-ebc0ebfdfb92 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-8ce9b5fa-3068-4a9f-8ec6-c1d0be6b1cb3 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', '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-8d750d3d-f5c3-4c7b-a6fc-558a08a773e6 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema[0]\", \"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'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.033231s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.026615s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.031887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.030946s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.033573s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.025009s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.033676s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-dd47d41a-1797-4a15-9827-8d44feabbdb1 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bd53ed47-3410-4e41-b666-cd3d545b7709 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': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-adc6888e-44a5-49d5-b553-f9dd03695f99 X-Openstack-Ironic-Api-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 {'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-63e2edae-a34c-41f4-8f9e-fe2cf8e3260d 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_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-07a2357c-949f-478a-ae3a-56234f1d8f9c 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 Failed validating 'required' in schema\", \"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': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbbf3353-f80c-43fd-affe-4613a285eb4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e40e09c9-1183-4d48-a59d-c6dc23fe4bfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b8bad39c-9389-43ba-a796-f64dd816d1cd", "created_at": "2021-12-14T09:44:47.175341+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/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8bad39c-9389-43ba-a796-f64dd816d1cd/volume", "rel": "bookmark"}]} 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-21ca881c-1f14-4a96-8435-fd65b7ba2731 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": "2021-12-14T09:44:47.361044+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/26bf70f6-b84e-46d0-89e7-a43d71e68392 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.077541s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.092806s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.057424s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.059132s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.069524s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.073203s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62def6d9-a0cd-4726-9164-d135ac981c17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "26bf70f6-b84e-46d0-89e7-a43d71e68392", "created_at": "2021-12-14T09:44:47.436090+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/26bf70f6-b84e-46d0-89e7-a43d71e68392", "rel": "self"}, {"href": "http://localhost/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/ports", "rel": "self"}, {"href": "http://localhost/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/states", "rel": "self"}, {"href": "http://localhost/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/volume", "rel": "self"}, {"href": "http://localhost/nodes/26bf70f6-b84e-46d0-89e7-a43d71e68392/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5171fff5-e747-4a0a-8098-ebafbabdbdc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "7de95c7d-a580-4608-a6ca-5921be0c3e32", "created_at": "2021-12-14T09:44:47.537687+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/7de95c7d-a580-4608-a6ca-5921be0c3e32", "rel": "self"}, {"href": "http://localhost/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/ports", "rel": "self"}, {"href": "http://localhost/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/states", "rel": "self"}, {"href": "http://localhost/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/volume", "rel": "self"}, {"href": "http://localhost/nodes/7de95c7d-a580-4608-a6ca-5921be0c3e32/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/c9ac4de8-102f-4673-a823-7320865c660d [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-faa0ba1b-9bd1-40a9-af75-2b88767265bb 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 \\\"c9ac4de8-102f-4673-a823-7320865c660d\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1ed055e7-9d9b-4e64-9b24-f154511f31f9 [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a92104f1-5236-4d1b-a05d-5c0b7148d18f 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/e2c46e9a-0ed8-4560-8db5-096a2677ea16 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.084951s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.081542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.076988s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.046333s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.053965s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-684a5322-d3b9-473e-92fa-9ec27e81c21f 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": "2021-12-14T09:44:48.053272+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': '2021-12-14T09:44:48.053272+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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c181764-d991-42e8-bfbd-2cfc8b2b2fd4 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) Failed validating 'additionalProperties' in schema\", \"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'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.122862s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-adbd7475-e3a4-4625-8ccc-284159dc5999 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": "2021-12-14T09:44:48.640235+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': '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-6347e220-606f-436e-a5cb-e77d02de290a X-Openstack-Ironic-Api-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', '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-d6625f39-d09f-4fe8-9104-ad20f5d62308 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": "2021-12-14T09:44:48.699998+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ccfb5fdd-449e-45a1-b83e-85f3aa9697a9 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": "2021-12-14T09:44:48.731389+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: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-02d6412f-c9d1-4e00-86db-a52e0883ff93 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": "2021-12-14T09:44:48.764239+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-f3c2a65a-9139-44be-bb81-8f2bac86060d 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-1f8e33de-9e11-47dc-b6dc-067ff93a9e3d 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": "2021-12-14T09:44:48.822315+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"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.027404s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.064506s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.040845s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.028380s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.026588s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.023942s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.025592s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.024290s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-70dc7cb5-0f40-45b8-bc6e-3f124c88a889 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": "2021-12-14T09:44:48.209749+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': '2021-12-14T09:44:48.209749+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', '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'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.085863s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.040758s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.069642s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.048917s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.040820s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-605d44aa-a188-47c4-a06e-34724252c104 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "e2c46e9a-0ed8-4560-8db5-096a2677ea16", "created_at": "2021-12-14T09:44:47.737013+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/e2c46e9a-0ed8-4560-8db5-096a2677ea16", "rel": "self"}, {"href": "http://localhost/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/ports", "rel": "self"}, {"href": "http://localhost/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/states", "rel": "self"}, {"href": "http://localhost/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/volume", "rel": "self"}, {"href": "http://localhost/nodes/e2c46e9a-0ed8-4560-8db5-096a2677ea16/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ccac6ee-f48b-494f-affb-337a10c0861e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "25625ec4-6dc2-4cf3-81aa-4c2929704f81", "created_at": "2021-12-14T09:44:47.823122+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/25625ec4-6dc2-4cf3-81aa-4c2929704f81", "rel": "self"}, {"href": "http://localhost/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81/ports", "rel": "self"}, {"href": "http://localhost/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81/states", "rel": "self"}, {"href": "http://localhost/nodes/25625ec4-6dc2-4cf3-81aa-4c2929704f81/states", "rel": "bookmark"}]} PATCH: /v1/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40725a95-c201-4f70-b81c-7b023a8b988e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "f09bafa7-7842-4d48-a295-afe2ee8f18c2", "created_at": "2021-12-14T09:44:47.906068+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/f09bafa7-7842-4d48-a295-afe2ee8f18c2", "rel": "self"}, {"href": "http://localhost/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2/ports", "rel": "self"}, {"href": "http://localhost/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2/states", "rel": "self"}, {"href": "http://localhost/nodes/f09bafa7-7842-4d48-a295-afe2ee8f18c2/states", "rel": "bookmark"}]} PATCH: /v1/nodes/a8748544-5a7e-4b11-a107-d81313597774 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8866516f-88d6-4dda-b2d6-ebb5526507d9 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 [{'power_state': 'new state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab652677-3b9b-4546-8f2c-096e6465a823 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) Failed validating 'additionalProperties' in schema['items']\", \"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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.053225s] ... ok 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-91928678-97ab-4e5b-be60-0a86dbb517ba 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-0131bd14-e675-4e55-aa9a-0f70f03c9ee9 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 {} GOT:{'portgroups': [{'uuid': '240ba1b7-48d0-48e9-b8f4-b57eb31d400b', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/240ba1b7-48d0-48e9-b8f4-b57eb31d400b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/240ba1b7-48d0-48e9-b8f4-b57eb31d400b', 'rel': 'bookmark'}]}, {'uuid': 'b69be93c-d9aa-43d0-a33f-28205cf30800', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b69be93c-d9aa-43d0-a33f-28205cf30800', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b69be93c-d9aa-43d0-a33f-28205cf30800', 'rel': 'bookmark'}]}, {'uuid': '5c4a077c-7922-4fe7-9c61-352b1da2c5b4', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/5c4a077c-7922-4fe7-9c61-352b1da2c5b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5c4a077c-7922-4fe7-9c61-352b1da2c5b4', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=5c4a077c-7922-4fe7-9c61-352b1da2c5b4'} GET: /v1/portgroups/detail?node=test-node {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:48.981935+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=True {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:49.009196+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=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-374311e9-7ea0-4cde-95b3-92876a224557 X-Openstack-Ironic-Api-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 {} GOT:{'portgroups': []} 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/d02e0263-a9f3-483f-857e-872d653b2520 {} GOT:{'uuid': 'd02e0263-a9f3-483f-857e-872d653b2520', 'created_at': '2021-12-14T09:44:49.114172+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/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups/d02e0263-a9f3-483f-857e-872d653b2520 {} GOT:{'uuid': 'd02e0263-a9f3-483f-857e-872d653b2520', 'created_at': '2021-12-14T09:44:49.114172+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/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'bookmark'}]} GET: /portgroups/d02e0263-a9f3-483f-857e-872d653b2520 {} GOT:{'uuid': 'd02e0263-a9f3-483f-857e-872d653b2520', 'created_at': '2021-12-14T09:44:49.114172+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/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02e0263-a9f3-483f-857e-872d653b2520/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{'portgroups': [{'uuid': '37318906-44d2-4247-aaa6-a73ee6727fc4', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/37318906-44d2-4247-aaa6-a73ee6727fc4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/37318906-44d2-4247-aaa6-a73ee6727fc4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/c8e885f3-4820-469c-9f28-66e9deb573bf/ports {} GOT:{'ports': [{'uuid': '2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'self'}, {'href': 'http://localhost/ports/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'bookmark'}]}, {'uuid': 'f136d916-a0a9-4b74-885a-90e1ac5befb3', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/f136d916-a0a9-4b74-885a-90e1ac5befb3', 'rel': 'self'}, {'href': 'http://localhost/ports/f136d916-a0a9-4b74-885a-90e1ac5befb3', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/c8e885f3-4820-469c-9f28-66e9deb573bf/ports/detail {} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.099227s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.062167s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.041779s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.065385s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.048521s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.050925s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.056316s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4b7a597-369b-44de-b74e-a6431432bd02 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': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.075495s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.087159s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e0fb0f23-2f87-4bba-8bde-ae1a6c4b5e35 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": "2021-12-14T09:44:48.316449+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:48.316449+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-29fb64da-80e9-4643-aa84-95a92d89a365 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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4a32621-572f-461f-86ff-4cc2512de0ad X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema\", \"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'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.095119s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.079742s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.048342s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.057510s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.044047s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.186975s] ... ok GOT:{'ports': [{'uuid': '2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'created_at': '2021-12-14T09:44:49.220156+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/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'self'}, {'href': 'http://localhost/ports/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'c8e885f3-4820-469c-9f28-66e9deb573bf'}, {'uuid': 'f136d916-a0a9-4b74-885a-90e1ac5befb3', 'created_at': '2021-12-14T09:44:49.221840+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/f136d916-a0a9-4b74-885a-90e1ac5befb3', 'rel': 'self'}, {'href': 'http://localhost/ports/f136d916-a0a9-4b74-885a-90e1ac5befb3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'c8e885f3-4820-469c-9f28-66e9deb573bf'}]} GET: /v1/portgroups/c8e885f3-4820-469c-9f28-66e9deb573bf/ports?limit=1 {} GOT:{'ports': [{'uuid': '2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'self'}, {'href': 'http://localhost/ports/2c20eb44-469e-4664-9943-4a9a8d86a1b7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=2c20eb44-469e-4664-9943-4a9a8d86a1b7'} GET: /v1/portgroups/c8e885f3-4820-469c-9f28-66e9deb573bf/ports/409b9170-b301-4973-a349-4816536f3c13 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/c8e885f3-4820-469c-9f28-66e9deb573bf/ports/cbb87cf8-5cd3-41d2-8032-f8a28a5d65db {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-846f010d-0681-4550-8410-7a8c7d77c6eb X-Openstack-Ironic-Api-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/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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-def7ccc9-db5a-48bd-b5aa-8f823d281122 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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79b8f995-5b31-4e14-88ac-1eb5893cf8c3 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": "2021-12-14T09:44:49.415593+00:00", "updated_at": "2021-12-14T09:44:49.422481+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-dd7f7f21-60c7-489f-bc12-fb7a91f7c104 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": "2021-12-14T09:44:49.415593+00:00", "updated_at": "2021-12-14T09:44:49.422481+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-cc9cbea9-690f-425f-a1bc-700d4ac3427e X-Openstack-Ironic-Api-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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c0b1e2d-f9f3-4470-bcfa-df12a388ef86 X-Openstack-Ironic-Api-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-d2906b74-1811-4cd1-acc3-ab1215d2179f X-Openstack-Ironic-Api-Maximum-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'}] {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.050994s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.086459s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.048835s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.065887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.080891s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.035154s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.039998s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8249233-bb8a-4a3c-b56d-88932bc08777 X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema['properties']['description']\", \"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-398515df-25e2-4655-8922-914c49a84099 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": "2021-12-14T09:44:48.429380+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': '2021-12-14T09:44:48.429380+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'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.072721s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.094614s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.270453s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-26446723-0472-4a88-bc00-4c655b2ab099 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": "2021-12-14T09:44:48.615357+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': '2021-12-14T09:44:48.615357+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 {'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-92d1b8a4-ae24-486c-862d-4bae10f263a1 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": "2021-12-14T09:44:48.690610+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': '2021-12-14T09:44:48.690610+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/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-ecfec9da-93c8-4110-b37e-7016b0e3bca0 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}"} 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-194b2ac9-5be1-4cab-a771-006a6bdc1580 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/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-88ba9b52-dc4a-4781-9b0c-4be76e388806 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': 'abort'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15b6548d-ece5-48d2-8497-cb4650d6358c 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/node-39/states/power {'target': 'power on'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.036663s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.032353s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.033722s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.031968s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.048900s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.034834s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.038206s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.039871s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.037693s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.041162s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.047744s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.048781s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.038574s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.041138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.063218s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.042837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.070987s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.053651s] ... 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': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-929e6545-f674-44de-85ef-f63e8c1ee4b2 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' Failed validating 'type' in schema['properties']['chassis_uuid']\", \"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-33b3707b-1317-45d6-900b-3d4cbae01cc8 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': '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-162903cf-fffd-4a2d-a841-e329ae1f161a 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-88c425a4-3b86-498a-8f19-cdb31ca386ee 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-2bae8b3f-e83a-4778-a113-816a5803f666 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-2976572a-4f75-4f6b-ac8b-4478e164d717 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-855d170b-0d49-409e-a45e-915823b281c3 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-c111da6d-3017-498f-a1d0-18acfd88f790 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.063985s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.088788s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.101175s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.031598s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.030259s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.037148s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.041548s] ... 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-5c0bb6c8-062b-40a6-8d56-4af746df4bb1 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': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6ef51d1e-55cd-4f9e-8c4a-1cd78cbed8aa 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-855c304d-4afc-4d8a-bcd3-948bd7c26d76 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": "2021-12-14T09:44:49.217060+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': '2021-12-14T09:44:49.217060+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/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-070601be-0738-443e-80a1-daa904bfe771 X-Openstack-Ironic-Api-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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8c31f362-10c3-4c9e-b6c9-2382cfc20550 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dfeace08-9256-403b-80eb-17a81cf28356 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3b0c687f-823a-4756-a7c2-a1178886141d 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/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7bfa5d3-a69b-42bc-bfd6-6bd59cf7a4f7 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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.238985s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.059314s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.053849s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.042215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.040527s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.060050s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.035157s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.028809s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.034267s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.041637s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.032179s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.051916s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.055075s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.071482s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.048023s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.034879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.041330s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83daa8a0-cc94-42dc-a7db-f2c8e50072c6 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": "2021-12-14T09:44:49.637268+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/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd2b6c4d-9a0c-4eb0-866d-f07457cb41f3 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": "2021-12-14T09:44:49.703926+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-0ecb392f-7c92-4cb3-a98d-b02a16070d9e X-Openstack-Ironic-Api-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}"} 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-ebd561b6-5c22-457c-bb43-265a9d09e9cc 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": "2021-12-14T09:44:49.845829+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': '08908ea1-9946-418c-b25c-66952666ca48', 'name': '883a68a1-6e59-4c32-8037-ff83366185ab', '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-8b61ac72-e258-4e50-8732-ac7f22fc19b4 X-Openstack-Ironic-Api-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-177d0ae7-9742-44b5-84e1-6797a663fdf6 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": "2021-12-14T09:44:49.911485+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': '2021-12-14T09:44:49.911485+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': '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-4152ad39-906a-4de1-9cb8-9bf07f4195cc X-Openstack-Ironic-Api-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 {'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-af7642aa-f1cc-45e2-babe-52d21bc35759 X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.023166s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.025780s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.060514s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.040317s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.028902s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.055521s] ... ok 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-e9cdbc41-0a32-44cf-b604-4991785113ae X-Openstack-Ironic-Api-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/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-c8c2c0c0-c5eb-4ab6-b044-2aa60688b302 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': '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-fb7257b4-548e-4bfb-88d9-a0532a9db57f 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": "2021-12-14T09:44:50.108786+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': '2021-12-14T09:44:50.108786+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-68155d5f-f751-4952-b246-88741533bd06 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": "2021-12-14T09:44:50.154113+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': '2021-12-14T09:44:50.154113+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-5a38ca03-ef09-4a82-9975-019d97ccd347 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-b22c7240-50af-48a2-9354-ee48a121afc8 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'}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.052506s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.045660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.050185s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.024499s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.028835s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.040318s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.029902s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.048192s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-0e26e4df-32ba-4c1d-935e-1560a1252875 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/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6fd8f621-1c4b-440f-9b0f-4b97a8f468ab 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': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-074bc381-076a-4036-81df-d0b5856e91fd 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', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b282632-0ee2-447c-81ff-267c34186014 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-14f554ad-90af-4da8-ae98-384b7493f875 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': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f65437f7-38de-468b-8f31-cc5822ed40d5 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/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18402501-d35a-4436-b6af-5b12d0c68308 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': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fb0917ae-e17a-4f0f-aed9-937b865ef9c3 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': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a37c52a4-b4c8-440e-a0bd-4faf14db75c9 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-3ac66c30-172e-4301-a9f0-37e110395d84 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-407a33cf-63fe-434f-9634-6b8a0a1c4777 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': {'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-b9c5d46d-9791-49aa-a12f-7c94e211777d 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', '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-cd40df9b-0abf-4438-8937-9491a15f00e9 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-68ea4676-6cdb-457e-9c0b-830c606a2c1c 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-b2654bb2-c525-417a-82ff-b2b29a7d5b21 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': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcd3aed3-34fd-49ca-9cc4-7ff5620e495b 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/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-2ade139a-bd4d-45d1-a3b2-e4048fffad75 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: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-0241e5f1-850b-44a7-9689-0c30a5a6e615 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.040759s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.091354s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.035835s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.052954s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.042192s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.027765s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.040869s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.048491s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.059917s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.099606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.058929s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.032657s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.024418s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.033974s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.038443s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.015515s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.034765s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.035134s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.024145s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a6bb7d51-8af9-4d7b-89ea-503fb6b48f44 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": "2021-12-14T09:44:47.432528+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': '2021-12-14T09:44:47.432528+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': 'e06e0e56-b6d3-4044-b42d-6624cee46021', '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/e06e0e56-b6d3-4044-b42d-6624cee46021 Openstack-Request-Id: req-ba6e7e67-dfea-489d-b790-bd0b228589dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "e06e0e56-b6d3-4044-b42d-6624cee46021", "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/e06e0e56-b6d3-4044-b42d-6624cee46021", "rel": "self"}, {"href": "http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/ports", "rel": "self"}, {"href": "http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/states", "rel": "self"}, {"href": "http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/volume", "rel": "self"}, {"href": "http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/volume", "rel": "bookmark"}]} GET: /v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021 {} GOT:{'uuid': 'e06e0e56-b6d3-4044-b42d-6624cee46021', '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/e06e0e56-b6d3-4044-b42d-6624cee46021', 'rel': 'self'}, {'href': 'http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e06e0e56-b6d3-4044-b42d-6624cee46021/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '18caef48-f439-4a6c-b9a4-95a110a234b1', '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/18caef48-f439-4a6c-b9a4-95a110a234b1 Openstack-Request-Id: req-f40b1279-1e9e-4fe8-8695-02c1e8591aa8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "18caef48-f439-4a6c-b9a4-95a110a234b1", "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/18caef48-f439-4a6c-b9a4-95a110a234b1", "rel": "self"}, {"href": "http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/states", "rel": "self"}, {"href": "http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/volume", "rel": "bookmark"}]} GET: /v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1 {} GOT:{'uuid': '18caef48-f439-4a6c-b9a4-95a110a234b1', '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/18caef48-f439-4a6c-b9a4-95a110a234b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/18caef48-f439-4a6c-b9a4-95a110a234b1/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '0e6800cd-dd3e-4351-a154-27ddfa1ffeb2', '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/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2 Openstack-Request-Id: req-69aca510-0607-4e00-b56d-3687d96c10a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "0e6800cd-dd3e-4351-a154-27ddfa1ffeb2", "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/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2", "rel": "self"}, {"href": "http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/states", "rel": "self"}, {"href": "http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/volume", "rel": "self"}, {"href": "http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/volume", "rel": "bookmark"}]} GET: /v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2 {} GOT:{'uuid': '0e6800cd-dd3e-4351-a154-27ddfa1ffeb2', '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/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6800cd-dd3e-4351-a154-27ddfa1ffeb2/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'a4f23963-6d4b-48f1-9c69-d4140f7991ea', '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/a4f23963-6d4b-48f1-9c69-d4140f7991ea Openstack-Request-Id: req-e5cc7bef-5f6b-49b5-887c-ae3842e704c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "a4f23963-6d4b-48f1-9c69-d4140f7991ea", "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/a4f23963-6d4b-48f1-9c69-d4140f7991ea", "rel": "self"}, {"href": "http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/states", "rel": "self"}, {"href": "http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/volume", "rel": "bookmark"}]} GET: /v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea {} GOT:{'uuid': 'a4f23963-6d4b-48f1-9c69-d4140f7991ea', '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/a4f23963-6d4b-48f1-9c69-d4140f7991ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4f23963-6d4b-48f1-9c69-d4140f7991ea/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '01fc3e71-f71e-4e3a-a006-ad97a3fb6368', '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/01fc3e71-f71e-4e3a-a006-ad97a3fb6368 Openstack-Request-Id: req-db69e09f-7a90-48c6-89a3-9790a5dedf34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "01fc3e71-f71e-4e3a-a006-ad97a3fb6368", "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/01fc3e71-f71e-4e3a-a006-ad97a3fb6368", "rel": "self"}, {"href": "http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/ports", "rel": "self"}, {"href": "http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/states", "rel": "self"}, {"href": "http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/volume", "rel": "self"}, {"href": "http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/volume", "rel": "bookmark"}]} GET: /v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368 {} GOT:{'uuid': '01fc3e71-f71e-4e3a-a006-ad97a3fb6368', '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/01fc3e71-f71e-4e3a-a006-ad97a3fb6368', 'rel': 'self'}, {'href': 'http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/01fc3e71-f71e-4e3a-a006-ad97a3fb6368/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '551c5354-fef9-4674-93e1-aea958f32236', '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: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236 Openstack-Request-Id: req-1cb4504a-eada-4697-8a59-2963f4be2897 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "551c5354-fef9-4674-93e1-aea958f32236", "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/551c5354-fef9-4674-93e1-aea958f32236", "rel": "self"}, {"href": "http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/ports", "rel": "self"}, {"href": "http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/states", "rel": "self"}, {"href": "http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/volume", "rel": "self"}, {"href": "http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/volume", "rel": "bookmark"}]} GET: /v1/nodes/551c5354-fef9-4674-93e1-aea958f32236 {} GOT:{'uuid': '551c5354-fef9-4674-93e1-aea958f32236', '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/551c5354-fef9-4674-93e1-aea958f32236', 'rel': 'self'}, {'href': 'http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/551c5354-fef9-4674-93e1-aea958f32236/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/551c5354-fef9-4674-93e1-aea958f32236/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '8c77ccf2-ff37-447d-8d1d-09f3ebf71773', '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/8c77ccf2-ff37-447d-8d1d-09f3ebf71773 Openstack-Request-Id: req-9042b066-1d3e-470b-a0cb-2555cd80967e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "8c77ccf2-ff37-447d-8d1d-09f3ebf71773", "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/8c77ccf2-ff37-447d-8d1d-09f3ebf71773", "rel": "self"}, {"href": "http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/ports", "rel": "self"}, {"href": "http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/states", "rel": "self"}, {"href": "http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/volume", "rel": "self"}, {"href": "http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/volume", "rel": "bookmark"}]} GET: /v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773 {} GOT:{'uuid': '8c77ccf2-ff37-447d-8d1d-09f3ebf71773', '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/8c77ccf2-ff37-447d-8d1d-09f3ebf71773', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c77ccf2-ff37-447d-8d1d-09f3ebf71773/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '203e7efe-ba97-4052-a679-5cc25663c68e', '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/203e7efe-ba97-4052-a679-5cc25663c68e Openstack-Request-Id: req-2168431b-2778-4c3e-a57c-84da9d15d84f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "203e7efe-ba97-4052-a679-5cc25663c68e", "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/203e7efe-ba97-4052-a679-5cc25663c68e", "rel": "self"}, {"href": "http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/ports", "rel": "self"}, {"href": "http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/states", "rel": "self"}, {"href": "http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/volume", "rel": "self"}, {"href": "http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/volume", "rel": "bookmark"}]} GET: /v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e {} GOT:{'uuid': '203e7efe-ba97-4052-a679-5cc25663c68e', '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/203e7efe-ba97-4052-a679-5cc25663c68e', 'rel': 'self'}, {'href': 'http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/203e7efe-ba97-4052-a679-5cc25663c68e/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '4897f09f-2a38-463b-acc4-cba83a454014', '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/4897f09f-2a38-463b-acc4-cba83a454014 Openstack-Request-Id: req-d1b59f2b-a339-4630-bff5-26edd6415295 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "4897f09f-2a38-463b-acc4-cba83a454014", "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/4897f09f-2a38-463b-acc4-cba83a454014", "rel": "self"}, {"href": "http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/ports", "rel": "self"}, {"href": "http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/states", "rel": "self"}, {"href": "http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/volume", "rel": "self"}, {"href": "http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/volume", "rel": "bookmark"}]} GET: /v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014 {} GOT:{'uuid': '4897f09f-2a38-463b-acc4-cba83a454014', '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/4897f09f-2a38-463b-acc4-cba83a454014', 'rel': 'self'}, {'href': 'http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4897f09f-2a38-463b-acc4-cba83a454014/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4897f09f-2a38-463b-acc4-cba83a454014/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '6f83d343-19ad-4ce1-9d51-24c96b0aba8f', '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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f Openstack-Request-Id: req-7044f124-f08e-4878-a6d6-4c3f8cecd90b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "6f83d343-19ad-4ce1-9d51-24c96b0aba8f", "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/6f83d343-19ad-4ce1-9d51-24c96b0aba8f", "rel": "self"}, {"href": "http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/ports", "rel": "self"}, {"href": "http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/states", "rel": "self"}, {"href": "http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/volume", "rel": "self"}, {"href": "http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/volume", "rel": "bookmark"}]} GET: /v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f {} GOT:{'uuid': '6f83d343-19ad-4ce1-9d51-24c96b0aba8f', '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/6f83d343-19ad-4ce1-9d51-24c96b0aba8f', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f83d343-19ad-4ce1-9d51-24c96b0aba8f/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '3716380b-4f0f-4f8b-93f6-fa6956ab8e4a', '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/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a Openstack-Request-Id: req-5dece117-a668-4ddc-ab14-0c83db2fb473 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "3716380b-4f0f-4f8b-93f6-fa6956ab8e4a", "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/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a", "rel": "self"}, {"href": "http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/ports", "rel": "self"}, {"href": "http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/states", "rel": "self"}, {"href": "http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/volume", "rel": "self"}, {"href": "http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/volume", "rel": "bookmark"}]} GET: /v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a {} GOT:{'uuid': '3716380b-4f0f-4f8b-93f6-fa6956ab8e4a', '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/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a', 'rel': 'self'}, {'href': 'http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3716380b-4f0f-4f8b-93f6-fa6956ab8e4a/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '02f00148-83d1-453c-b097-e4f31908d6d5', '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'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.397725s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.029877s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-87d4339c-6ce4-458b-96a0-61408a407f39 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-c521e5c4-f286-4614-b31e-f4f4e254b776 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/boot_mode {'target': 'bios'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a9332dc0-5e89-4f16-b046-656f56bf9276 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-ec3c9be9-ac67-47a0-be2a-72df5890f1b1 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/boot_mode {'target': 'uefi'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f899b65e-035b-470a-9b9a-6e31d1bce47a 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'}], 'disable_ramdisk': True} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0a6ebff7-6e5b-4d33-adf0-d3a9673fba6b 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/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-b25cb844-3b71-40de-a0b9-7722fbc748a4 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': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f76bc2ab-6d58-4e65-96a0-349ea56de119 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-061bde83-a9b5-4b58-9201-01d493337d20 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d568e0d-fb66-4584-b018-1a84b1e3def3 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-8c46becf-a5ed-4fde-8a6e-b0d6d713cc6f 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-a7889c25-4900-466d-b327-ea6085ea579f 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': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-789cb48d-d16a-4459-902c-0bfa11ebf8b3 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-0865fd0f-a8d2-497a-bf1d-5c8f1845c3e9 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-1964090a-10e5-4791-a063-954169beb6a5 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9fc7bf56-2532-436f-ae2a-cd992f63382e 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-6f3537fe-df44-44ef-90fa-18d19cf67c75 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/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-90d61866-4cdc-4605-96f3-8e849d8d5fe6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.033947s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.031958s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.036211s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.089975s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.069321s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.070163s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5 Openstack-Request-Id: req-abb90458-03a7-4049-9ca7-73de5609399d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "02f00148-83d1-453c-b097-e4f31908d6d5", "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/02f00148-83d1-453c-b097-e4f31908d6d5", "rel": "self"}, {"href": "http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/ports", "rel": "self"}, {"href": "http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/states", "rel": "self"}, {"href": "http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/volume", "rel": "self"}, {"href": "http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/volume", "rel": "bookmark"}]} GET: /v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5 {} GOT:{'uuid': '02f00148-83d1-453c-b097-e4f31908d6d5', '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/02f00148-83d1-453c-b097-e4f31908d6d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/02f00148-83d1-453c-b097-e4f31908d6d5/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': {'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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e6c3b02e-32b3-43a5-9c1c-6b317433bd73 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": "2021-12-14T09:44:48.975873+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.218125s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.157359s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.051798s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.032424s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.049374s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.041042s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.033189s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.031068s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.028099s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.039067s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2021-12-14T09:44:48.975873+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-038c4e9c-9cd0-48a9-b71a-22907ce28de0 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": "2021-12-14T09:44:49.186283+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': '2021-12-14T09:44:49.186283+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/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-1226ce10-7048-4288-93e1-3eb0900268a9 X-Openstack-Ironic-Api-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/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/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'} 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-c21cbb7f-3f3a-4fb2-8f9c-c0e6ac84c7fa 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-a01a71c4-3e76-43c9-ae9b-3a1930b52941 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-1c6f13e7-1585-45ab-92f8-9b0eb69edf66 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-dadaf9af-1ab2-46d4-bdee-e48ee7027a4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.038033s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.048495s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.087422s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.042061s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.037998s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.039837s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.040325s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.205139s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.049867s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.045618s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.034681s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.033009s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.035184s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.064380s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a16a08be-f7da-4d25-8112-5ee5e4196e46 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': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-202f363c-0fac-471a-91b9-bd5092fe7990 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-349e428a-a5f5-4e56-8550-f9748b043c0d 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-2fa9f5e6-7aea-4ed2-9c64-3b2f1c3b54e3 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': 'unsupported-efi'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-465bfc8a-34ce-4279-8908-bf6016498eb2 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/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-09545357-4652-475a-8ac0-ded757967731 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-30d31387-9c8d-4340-b977-309e961c770d 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e325e186-3da2-436d-9577-c7882fea83bd 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-bc56eed1-49b8-4111-8b38-f368717ac8a7 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-9903a9de-6d9f-4454-ac88-dbfc386a6433 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-fd336a12-34fb-4050-a32f-70e8a0a29362 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-3eed015d-6a1a-4a99-b083-cb0ca1030719 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/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e12d32e-5ceb-424b-b6bb-3bc9eddce12d 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3802abb0-bd90-41f7-9aa9-05a884fa6087 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': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7ebcccb8-b97e-49cb-a734-c5633b974c65 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-80140134-d0f2-4a53-ad6d-10a9102ed68c 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/provision {'target': 'active'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.031261s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.058058s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.036273s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.038336s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.033227s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.044887s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.076434s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.064558s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.080428s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.067506s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.077981s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.081052s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b034e519-5d7b-44ca-9f2d-41ed864b660c 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': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-08b495ab-8a6a-4c80-84f7-4dd89f98cdae 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-700173e0-796a-4788-9487-d8a10cdcfb8c 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-388e2dff-57f6-4420-b8df-82f5290ee74a 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/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-385cc2e0-b7f1-4d4e-92d9-5c4e0b85ecfc 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/traits GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c86f8568-b02e-40d3-8be3-83bd30e360e6 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/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-2ce313ff-84fd-4625-b137-2a2795396c05 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/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-bdac3077-fb92-4d44-b132-4c7ae74fedb1 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 {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94dddced-b993-42f7-9740-dcbe8b3179ac 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) Failed validating 'additionalProperties' in schema\", \"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-b8e84bf9-e47a-4752-a2f2-2161b94d9455 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': []} GOT:Response: 204 No Content Openstack-Request-Id: req-30e178d6-8ee9-4b0f-b13f-6ce2281e7f66 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 {'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\": \"\"}"} PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bd7e9d82-556b-4a20-8fb5-0d1608ec4fa0 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-1f238f16-27cb-4b9e-9026-9c6d41eeebc9 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/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-2c96e727-aae0-485d-b81a-b21f88a3415a 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/e88baf33-f9b1-411f-a2b4-c0fafbf49773 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-627c9f04-f6eb-4690-af13-9071e2b9c5af 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/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7811e882-0555-451b-a5ab-26603dc03dba 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?node=test-node {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:50.702417+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=True {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:50.766849+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?sort_key=pxe_enabled {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.037715s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.023532s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.039181s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.074089s] ... ok 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-846bb019-a780-476b-9f51-55509f1739fe 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": "2021-12-14T09:44:50.292480+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': '2021-12-14T09:44:50.292480+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 {'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-821ec404-1c9b-4e44-ae7b-402d09dccbfa X-Openstack-Ironic-Api-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': 'meow', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-4b99444f-cc95-4363-8110-aaf745b289b4 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-f6fd90ee-b742-481f-9f35-6a8accf4d10c 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76024910-b874-482a-aefc-a83171a31fd0 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_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-56ec34c2-274f-4439-bc85-86820d02e020 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.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-20503af0-3842-4813-aad8-20d398821ee1 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/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5195f9d1-4406-48f6-aa8b-4faf2b97fcf5 {} GOT:{'node': {'uuid': '5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', '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/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', 'rel': 'self'}, {'href': 'http://localhost/nodes/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5195f9d1-4406-48f6-aa8b-4faf2b97fcf5 {} GOT:{'node': {'uuid': '5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', '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/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', 'rel': 'self'}, {'href': 'http://localhost/nodes/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', '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}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5195f9d1-4406-48f6-aa8b-4faf2b97fcf5 {} GOT:{'node': {'uuid': '5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', '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/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', 'rel': 'self'}, {'href': 'http://localhost/nodes/5195f9d1-4406-48f6-aa8b-4faf2b97fcf5', '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}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=35b6f96f-cdda-4d70-bd76-caaa98f6915c {} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.044734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.046724s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.032196s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.031437s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.015447s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.014119s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.025840s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.015815s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.013813s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.012184s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.016087s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.031079s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.024766s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.038624s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.021111s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.082236s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.016942s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.070689s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.032072s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.015366s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.012861s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.013346s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.050297s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.015893s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.045758s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.016887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.013920s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.046228s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.040905s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-78c43348-8a06-4008-b8a3-6c9e36937191 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': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ecc5219a-a564-4e5d-90a8-2df0932feaea 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-781fc793-f246-4821-85da-8874c02aaab7 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-26fce9c5-20e2-4e53-bee5-b6cdfa7a6440 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-bfc55d51-77c4-476b-bb97-4a7110cdfbb6 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e85c907-f117-42fd-9263-230ca98d4118 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-14f8f99c-f2e2-42d4-ac47-755696822c61 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': '\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-a530015f-73c8-4ba5-8ca4-ddac4a765430 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': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-01419860-494e-4130-b36f-39ad8662cb7e 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': 'active', 'configdrive': '{"meta_data": '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-34f75879-9944-4952-9f81-3da8d670a77c 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': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-83494a9e-ef35-4f33-9078-516448229efb 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': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3d8efe1b-1259-4a2e-b62c-ad68176fb30d 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-9b9dfe2f-e9ed-4ab3-8607-1c1304290a52 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-98435ef1-e74f-413b-adad-6bb716267351 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/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-44c5d9ca-9d13-4225-b38b-df194a5329d4 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': ''} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.057471s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.042904s] ... ok 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-755fa592-2c12-4ae9-8849-b2749577ef2f 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': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b641ae7d-65da-4bc8-a3df-45d51de114bd 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': 'active', 'rescue_password': 'password'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc307ab9-7a80-4ea0-a7f7-1231b2104fce 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2a8d6ae7-821a-45cd-a4ab-3309d9981886 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-b05fa60c-ba2d-4237-9c14-faa9094d7ff4 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-8d7cdc59-ac73-4db4-9768-0261150acf17 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-0c058aa9-90cd-4ce6-baab-6ad4fbf703a7 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-d3bcc8b6-d69f-4ed7-a41f-f6f041dd2433 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-ecc5097f-7dd5-4370-9ce1-5ab1104b76b2 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': 'http://example.com'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3ec3767f-1451-4cc6-a01a-d532cb97ceb2 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-885e2067-ab85-4b50-9cfd-c16d45af25b4 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-6db938db-d840-45cb-b3fd-adc77506124d 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-69b4db4c-11c1-404b-af53-788208efc0ab 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/secure_boot {'target': 'boo!'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-397a997d-6c5c-4d6e-9ec4-9078037c11c1 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': False} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c8d92349-3ab2-45dd-93d7-278f225ec0e9 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': 2} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.031599s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.089327s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.036985s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.037912s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.039862s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.056426s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.042402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.039486s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.033194s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.040664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.036677s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.038114s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.229183s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.035467s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.065662s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.020018s] ... ok GOT:{'ports': [{'uuid': 'f643f0ea-d6d6-45d0-acf5-6a470efe198b', 'created_at': '2021-12-14T09:44:50.796465+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/f643f0ea-d6d6-45d0-acf5-6a470efe198b', 'rel': 'self'}, {'href': 'http://localhost/ports/f643f0ea-d6d6-45d0-acf5-6a470efe198b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': '29a3ee03-4c25-4821-8506-cd4891b4f29d', 'created_at': '2021-12-14T09:44:50.797470+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/29a3ee03-4c25-4821-8506-cd4891b4f29d', 'rel': 'self'}, {'href': 'http://localhost/ports/29a3ee03-4c25-4821-8506-cd4891b4f29d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8cf6abcc-9f6a-4f85-a817-c03fd69321d9 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/detail?portgroup=fooname {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:50.866163+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/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ceea91eb-3bfc-435c-8f8a-0ef533535577 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b11a52ba-577c-42f0-9ec5-fb04d0758cb0 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': '2021-12-14T09:44:51.022179+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': '2021-12-14T09:44:51.063167+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': '2021-12-14T09:44:51.063167+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 {} GOT:{'ports': [{'uuid': '56df17a2-239e-4374-a89f-2a77834eb2b2', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/56df17a2-239e-4374-a89f-2a77834eb2b2', 'rel': 'self'}, {'href': 'http://localhost/ports/56df17a2-239e-4374-a89f-2a77834eb2b2', 'rel': 'bookmark'}]}, {'uuid': 'da73447b-04be-4846-b818-0b1ec9c81162', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/da73447b-04be-4846-b818-0b1ec9c81162', 'rel': 'self'}, {'href': 'http://localhost/ports/da73447b-04be-4846-b818-0b1ec9c81162', 'rel': 'bookmark'}]}, {'uuid': 'e0f5d13c-9031-4029-ab08-6065a811c7ef', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/e0f5d13c-9031-4029-ab08-6065a811c7ef', 'rel': 'self'}, {'href': 'http://localhost/ports/e0f5d13c-9031-4029-ab08-6065a811c7ef', 'rel': 'bookmark'}]}, {'uuid': '1817ae45-6799-4365-8cb6-b329232e18a3', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/1817ae45-6799-4365-8cb6-b329232e18a3', 'rel': 'self'}, {'href': 'http://localhost/ports/1817ae45-6799-4365-8cb6-b329232e18a3', 'rel': 'bookmark'}]}, {'uuid': '85d4c484-2e85-4b05-9c18-fc5c10d48ff6', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/85d4c484-2e85-4b05-9c18-fc5c10d48ff6', 'rel': 'self'}, {'href': 'http://localhost/ports/85d4c484-2e85-4b05-9c18-fc5c10d48ff6', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': 'f6bc5ba7-64dc-42ac-8f13-202b21122343', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f6bc5ba7-64dc-42ac-8f13-202b21122343', 'rel': 'self'}, {'href': 'http://localhost/ports/f6bc5ba7-64dc-42ac-8f13-202b21122343', 'rel': 'bookmark'}]}, {'uuid': 'ba9b468e-9f6d-4f78-8e1f-90061dbbc5bc', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/ba9b468e-9f6d-4f78-8e1f-90061dbbc5bc', 'rel': 'self'}, {'href': 'http://localhost/ports/ba9b468e-9f6d-4f78-8e1f-90061dbbc5bc', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '6ec94841-250d-4ebe-a7f5-3f3e1cd77b31', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/6ec94841-250d-4ebe-a7f5-3f3e1cd77b31', 'rel': 'self'}, {'href': 'http://localhost/ports/6ec94841-250d-4ebe-a7f5-3f3e1cd77b31', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.030192s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.026222s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.038536s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.024732s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.014509s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.037644s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.033416s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.045934s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.014239s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.037763s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.015702s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.030208s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.038783s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.018637s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.037371s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.024148s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.054778s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.024418s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.030773s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.054040s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.016318s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.014214s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.013842s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.013294s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.044775s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.064023s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.047275s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.012995s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.014219s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.048353s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.042681s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.015744s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.014259s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.027739s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.079865s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.017735s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.040043s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.014383s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.031418s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.030800s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.013496s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.014121s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.014071s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.013472s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.065551s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.015674s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.013193s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.060924s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.014361s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.048253s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.015217s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.045624s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.013839s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.014170s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.032646s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.020840s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.026818s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.193653s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.029797s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.047758s] ... ok 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=uuid {} GOT:{'ports': [{'uuid': '21a8b679-c38e-4739-94b1-4a5633075abe', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/21a8b679-c38e-4739-94b1-4a5633075abe', 'rel': 'self'}, {'href': 'http://localhost/ports/21a8b679-c38e-4739-94b1-4a5633075abe', 'rel': 'bookmark'}]}, {'uuid': '9bd53d75-3de2-402f-8172-c8910a674d7a', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9bd53d75-3de2-402f-8172-c8910a674d7a', 'rel': 'self'}, {'href': 'http://localhost/ports/9bd53d75-3de2-402f-8172-c8910a674d7a', 'rel': 'bookmark'}]}, {'uuid': 'c3ddbbd2-df91-4716-a8e7-ae2433faa1f7', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/c3ddbbd2-df91-4716-a8e7-ae2433faa1f7', 'rel': 'self'}, {'href': 'http://localhost/ports/c3ddbbd2-df91-4716-a8e7-ae2433faa1f7', 'rel': 'bookmark'}]}]} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '01547725-d476-4698-b94d-c0e487b8cfe4', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/01547725-d476-4698-b94d-c0e487b8cfe4', 'rel': 'self'}, {'href': 'http://localhost/ports/01547725-d476-4698-b94d-c0e487b8cfe4', 'rel': 'bookmark'}]}, {'uuid': '58a2d106-83a6-4378-9dc7-80046fb47b42', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/58a2d106-83a6-4378-9dc7-80046fb47b42', 'rel': 'self'}, {'href': 'http://localhost/ports/58a2d106-83a6-4378-9dc7-80046fb47b42', '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-551497b2-7239-4239-9eb5-deaeab5c123a 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_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbf7bf0e-f899-4f0d-9480-afd0ebe5ea48 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": "2021-12-14T09:44:51.374318+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': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f7decd4-1f61-4165-8469-128b533a6f3c 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': 1234, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6446fc8f-f893-4216-a5e4-01fcd63863ce X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['physical_network']\", \"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-14bc5429-257d-44cc-b043-5dd6c526c270 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": "2021-12-14T09:44:51.489426+00:00", "updated_at": "2021-12-14T09:44:51.501885+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-18038f2a-af4c-46c9-89c8-1549eeb5bca5 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": "2021-12-14T09:44:51.489426+00:00", "updated_at": "2021-12-14T09:44:51.512512+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-6ecd6b1d-78e1-4e86-9f27-15a7b96c31c3 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', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4053f6b9-a76a-43c1-99c3-dc2bba3e7f68 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": "2021-12-14T09:44:51.593894+00:00", "updated_at": "2021-12-14T09:44:51.613667+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': '54df6913-c92a-450d-b23b-6e5c70e01622', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0a8deac3-10d7-44ff-abdb-4e39f38e519c 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': '/portgroup_uuid', 'value': '8e43750e-9c5c-4433-8100-78d7ae3013bf', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'c78d4bc0-7ba5-4079-a165-a55380893355', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.049297s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.028666s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.041721s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.033062s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.026910s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.015544s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.025704s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.060438s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.046879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.039197s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.018642s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.016338s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.044861s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.038018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.012948s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.025688s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.018406s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.036542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.038091s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.034685s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.038245s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.031359s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.033005s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.029379s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.027221s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11ecf1bb-369b-4458-8a8e-d9584a629acb 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e43a2ffd-233b-44de-9d84-1d4e534b4b92 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/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-c4088ffe-8786-4b91-beb5-1ad61f814d9c 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/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72b012c3-f742-457f-83cb-2fc5664c9983 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/states/console {'enabled': 'invalid-value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-274bbacf-20d0-467c-9a8d-7727d34dbf8a 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 {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-a6314e96-0595-4eb6-8a8e-9911cf622a75 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-a0b66465-d1d4-44a2-8adc-9c0870606092 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c35aed92-aac7-46f8-9d00-644ed92780cb 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/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-5fa62d90-eebf-4d81-959f-60207b6f5f7f 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-f226b30e-a871-43ff-b719-6fd5933e60df 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 {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-627bde4f-eb20-4547-bfa1-bcf5ff82969f 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-5626ebc8-220e-4181-9044-7e4b583570e5 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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd4e129b-3487-45f2-93e8-878cf484191d 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 Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-bab863f7-fed4-48a8-ac1b-0700288cdb8a 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/?limit=3 {} GOT:{'ports': [{'uuid': '08d03ea9-a33c-4e0f-af30-40700635fd7e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/08d03ea9-a33c-4e0f-af30-40700635fd7e', 'rel': 'self'}, {'href': 'http://localhost/ports/08d03ea9-a33c-4e0f-af30-40700635fd7e', 'rel': 'bookmark'}]}, {'uuid': 'd799c972-5345-4378-9736-6c8ed31e3dfa', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d799c972-5345-4378-9736-6c8ed31e3dfa', 'rel': 'self'}, {'href': 'http://localhost/ports/d799c972-5345-4378-9736-6c8ed31e3dfa', 'rel': 'bookmark'}]}, {'uuid': '74d22118-6b4a-43ad-a778-04498b49f44e', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/74d22118-6b4a-43ad-a778-04498b49f44e', 'rel': 'self'}, {'href': 'http://localhost/ports/74d22118-6b4a-43ad-a778-04498b49f44e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=74d22118-6b4a-43ad-a778-04498b49f44e'} GET: /v1/ports?fields=address,uuid {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.060962s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.033982s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.025492s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.026566s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.036509s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.039920s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0fd4d78e-c744-4dc4-a620-34883efba912 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': 0} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-26d46811-e29c-4d16-bdee-4900feca8b57 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-ef20d279-ea45-4829-9570-46cd62e0ab31 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/indicators/led@system?state=on {} GOT:Response: 204 No Content Openstack-Request-Id: req-10695341-0562-4896-90d6-fc653ca90d44 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 {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8792d5b6-15f5-46d6-b718-7f9d79928c39 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-e282aa9e-a32d-45ab-9de2-1eabe8720856 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/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-35e1419e-3232-450e-ab42-c3b364969902 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}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc89ee82-fa56-4822-8d0c-ed6ebe354a78 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_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-333b9f25-bcaa-497e-8eca-120cf8ac5835 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/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-da6e7fa4-6610-4227-a5ea-2a90b46bcdc0 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_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9bf3bc2-eb4d-4feb-9b25-3805a6e42089 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}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-aea4de8e-e6bf-45d3-b9af-f8331ef35330 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 {} GOT:{'ports': [{'uuid': '95d324a4-00d0-4879-a7a8-f370904b23c1', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/95d324a4-00d0-4879-a7a8-f370904b23c1', 'rel': 'self'}, {'href': 'http://localhost/ports/95d324a4-00d0-4879-a7a8-f370904b23c1', 'rel': 'bookmark'}]}, {'uuid': 'cca13661-bbb2-4838-85ee-681cd1c34d5a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/cca13661-bbb2-4838-85ee-681cd1c34d5a', 'rel': 'self'}, {'href': 'http://localhost/ports/cca13661-bbb2-4838-85ee-681cd1c34d5a', 'rel': 'bookmark'}]}, {'uuid': 'd2a01846-361a-4f7d-a117-56746ee85aef', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/d2a01846-361a-4f7d-a117-56746ee85aef', 'rel': 'self'}, {'href': 'http://localhost/ports/d2a01846-361a-4f7d-a117-56746ee85aef', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=d2a01846-361a-4f7d-a117-56746ee85aef'} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:51.709896+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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-38555ce3-82ce-4803-987a-91a58e62c61b 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=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?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': [{'uuid': 'e4f38fd5-b265-406f-8e4f-3b52242b8b96', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/e4f38fd5-b265-406f-8e4f-3b52242b8b96', 'rel': 'self'}, {'href': 'http://localhost/ports/e4f38fd5-b265-406f-8e4f-3b52242b8b96', 'rel': 'bookmark'}]}, {'uuid': '942a50f8-ac3d-4188-80c5-46ae8d051d22', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/942a50f8-ac3d-4188-80c5-46ae8d051d22', 'rel': 'self'}, {'href': 'http://localhost/ports/942a50f8-ac3d-4188-80c5-46ae8d051d22', 'rel': 'bookmark'}]}, {'uuid': '3d214308-e9a1-417b-a6a1-cd81e9cd1f72', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/3d214308-e9a1-417b-a6a1-cd81e9cd1f72', 'rel': 'self'}, {'href': 'http://localhost/ports/3d214308-e9a1-417b-a6a1-cd81e9cd1f72', 'rel': 'bookmark'}]}]} GET: /v1/ports?node=test-node {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.044606s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.031655s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.030356s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.035504s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.033226s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.030409s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.045471s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.042152s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.037540s] ... ok GOT:{'node': {'uuid': '35b6f96f-cdda-4d70-bd76-caaa98f6915c', '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/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'self'}, {'href': 'http://localhost/nodes/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=35b6f96f-cdda-4d70-bd76-caaa98f6915c {} GOT:{'node': {'uuid': '35b6f96f-cdda-4d70-bd76-caaa98f6915c', '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/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'self'}, {'href': 'http://localhost/nodes/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=35b6f96f-cdda-4d70-bd76-caaa98f6915c {} GOT:{'node': {'uuid': '35b6f96f-cdda-4d70-bd76-caaa98f6915c', '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/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'self'}, {'href': 'http://localhost/nodes/35b6f96f-cdda-4d70-bd76-caaa98f6915c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=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': '7e4a2ffd-ea79-467e-88db-4741c3010a36', '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/7e4a2ffd-ea79-467e-88db-4741c3010a36', 'rel': 'self'}, {'href': 'http://localhost/nodes/7e4a2ffd-ea79-467e-88db-4741c3010a36', '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}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=1157988f-3c8f-4f14-b6c3-ecbc0c2e577f {} GOT:{'node': {'uuid': '1157988f-3c8f-4f14-b6c3-ecbc0c2e577f', '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/1157988f-3c8f-4f14-b6c3-ecbc0c2e577f', 'rel': 'self'}, {'href': 'http://localhost/nodes/1157988f-3c8f-4f14-b6c3-ecbc0c2e577f', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}} GET: /v1/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-2af74b35-332a-4362-862e-f60b5fa417ac X-Openstack-Ironic-Api-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/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48f973a8-ac7f-4bc2-b625-70a4b90345b5 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-090a2614-47d0-44fd-a193-e04c6d23c7aa X-Openstack-Ironic-Api-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 {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:51.826846+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.034913s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.042493s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.044877s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.029130s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.029215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.049808s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.041773s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.045079s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.052310s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.043395s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.033714s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.034282s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.030152s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.027878s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.045809s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.046172s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.031425s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2828d74e-8dd0-4fba-a42d-53275ffaba96 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": "2021-12-14T09:44:51.698185+00:00", "updated_at": "2021-12-14T09:44:51.715336+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": "c78d4bc0-7ba5-4079-a165-a55380893355"} 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-12fab7f7-96ce-4c07-83db-a38d9f3af44e 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02088f48-9fbf-4fa9-aa33-4518dc5c19df 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": "2021-12-14T09:44:51.775005+00:00", "updated_at": "2021-12-14T09:44:51.787132+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-417eabf1-652c-4d4d-8f7a-623c962f3d3e 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": "2021-12-14T09:44:51.820318+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': '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-8c1b82f5-06ef-471b-bef0-5a598deff4fa X-Openstack-Ironic-Api-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': '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-c96a85ee-a6a9-45a9-8cdf-35c39133f428 X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema['properties']['physical_network']\", \"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-bbee497a-609e-4533-a730-d21052b66d7c 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": "2021-12-14T09:44:51.997851+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, '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-5d98f354-e5be-48a3-b070-3b178b178290 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_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-a15d29bd-a71e-489e-bc8f-a50ddd4dfaf1 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema[0]\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21d2b483-2bc1-426e-a852-53cb9afa595e 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}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.055461s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.028533s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.028295s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.044261s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.207461s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.035928s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.028624s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.035520s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.030472s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.028346s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.030877s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.040486s] ... ok GOT:{'ports': [{'uuid': '7aa6300b-3778-4f7f-b60e-e012bad94fec', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7aa6300b-3778-4f7f-b60e-e012bad94fec', 'rel': 'self'}, {'href': 'http://localhost/ports/7aa6300b-3778-4f7f-b60e-e012bad94fec', 'rel': 'bookmark'}]}, {'uuid': '3759c0ad-432d-4bc8-ad36-34fb991678fc', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/3759c0ad-432d-4bc8-ad36-34fb991678fc', 'rel': 'self'}, {'href': 'http://localhost/ports/3759c0ad-432d-4bc8-ad36-34fb991678fc', 'rel': 'bookmark'}]}, {'uuid': '5a7253a6-b2ca-41e0-ba08-1793e068bc67', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/5a7253a6-b2ca-41e0-ba08-1793e068bc67', 'rel': 'self'}, {'href': 'http://localhost/ports/5a7253a6-b2ca-41e0-ba08-1793e068bc67', 'rel': 'bookmark'}]}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:51.940433+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': '9bd5423b-c9b2-4830-8a97-1e9e63e51c52', 'created_at': '2021-12-14T09:44:51.975238+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/9bd5423b-c9b2-4830-8a97-1e9e63e51c52', 'rel': 'self'}, {'href': 'http://localhost/ports/9bd5423b-c9b2-4830-8a97-1e9e63e51c52', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:52.007296+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?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '16e0c8b1-be09-4faa-9c94-24bb06205b4f', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/16e0c8b1-be09-4faa-9c94-24bb06205b4f', 'rel': 'self'}, {'href': 'http://localhost/ports/16e0c8b1-be09-4faa-9c94-24bb06205b4f', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': []} 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-a9f25c43-1c03-4e25-9e35-e4ccb3f7349f 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": "2021-12-14T09:44:52.112288+00:00", "updated_at": "2021-12-14T09:44:52.123438+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': '/portgroup_uuid', 'value': 'dcf4e431-8c9a-4e9c-891f-ead3c6a49c3a', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-16e05a2c-b7b5-4e0d-9507-1d4cbf81b7fe 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": "2021-12-14T09:44:52.147873+00:00", "updated_at": "2021-12-14T09:44:52.160431+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": "dcf4e431-8c9a-4e9c-891f-ead3c6a49c3a"} 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-c7637446-a902-478c-986a-d27bad67a9a7 X-Openstack-Ironic-Api-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': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0d6e258-1d3b-4652-adb9-525aed004c0b X-Openstack-Ironic-Api-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 Failed validating 'maxLength' in schema['properties']['physical_network']\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/d1518b2b-74a7-410e-bbe5-d4eea47725da [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-066575ce-c837-41fb-b50a-124f67a7f3f0 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': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bbd0a5c8-95b6-4bae-87be-cdae9451f69a 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', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5a9134f2-16f1-4742-91fc-d6a9c1397e2d 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'}] {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.047950s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.042883s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.029240s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.028640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.051874s] ... ok GOT:{'ports': [{'uuid': '073c024d-7b93-4eef-9f76-4ee90388e61d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/073c024d-7b93-4eef-9f76-4ee90388e61d', 'rel': 'self'}, {'href': 'http://localhost/ports/073c024d-7b93-4eef-9f76-4ee90388e61d', 'rel': 'bookmark'}]}, {'uuid': '3840dd91-d160-4b97-a58a-f18bff241558', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/3840dd91-d160-4b97-a58a-f18bff241558', 'rel': 'self'}, {'href': 'http://localhost/ports/3840dd91-d160-4b97-a58a-f18bff241558', 'rel': 'bookmark'}]}, {'uuid': 'b796a34d-a907-46f3-83a8-b51b70383d30', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/b796a34d-a907-46f3-83a8-b51b70383d30', 'rel': 'self'}, {'href': 'http://localhost/ports/b796a34d-a907-46f3-83a8-b51b70383d30', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=b796a34d-a907-46f3-83a8-b51b70383d30'} 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?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-180d28e7-c42d-4382-bd3c-2d655c6d9ebb X-Openstack-Ironic-Api-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=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f49ab85-6b48-41aa-8758-e96e5ff510da 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?node=test-node {} GOT:{'ports': []} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:52.134008+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?fields=uuid,extra {} GOT:{'ports': [{'uuid': '0e798734-eb86-431b-9b38-083ffe226cb2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0e798734-eb86-431b-9b38-083ffe226cb2', 'rel': 'self'}, {'href': 'http://localhost/ports/0e798734-eb86-431b-9b38-083ffe226cb2', 'rel': 'bookmark'}]}, {'uuid': '1078affa-60ed-4701-a7e0-60fe617fab63', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1078affa-60ed-4701-a7e0-60fe617fab63', 'rel': 'self'}, {'href': 'http://localhost/ports/1078affa-60ed-4701-a7e0-60fe617fab63', 'rel': 'bookmark'}]}, {'uuid': 'dd0c4905-3f4f-4655-9462-3739d34b3a0d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/dd0c4905-3f4f-4655-9462-3739d34b3a0d', 'rel': 'self'}, {'href': 'http://localhost/ports/dd0c4905-3f4f-4655-9462-3739d34b3a0d', 'rel': 'bookmark'}]}]} GET: /v1/ports?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f97acc51-4f47-48f6-90ed-bd8f63335abc', 'rel': 'self'}, {'href': 'http://localhost/ports/f97acc51-4f47-48f6-90ed-bd8f63335abc', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/c0c35e6c-c00c-454d-8f71-3051c8e8674a', 'rel': 'self'}, {'href': 'http://localhost/ports/c0c35e6c-c00c-454d-8f71-3051c8e8674a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=c0c35e6c-c00c-454d-8f71-3051c8e8674a'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-83400a87-8b44-4971-b7fc-5eabdbdb36fb 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-1d4cc2e2-6b9f-478c-848b-d9884767ad69 X-Openstack-Ironic-Api-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=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ae518aba-e07b-4d0e-b3ad-0ebf4f7490e3 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': '2021-12-14T09:44:52.368210+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?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': '2021-12-14T09:44:52.426126+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 {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.035513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.057756s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.080890s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.049097s] ... ok 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?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a4a763f-2819-4e29-8a3d-071e4a065058 X-Openstack-Ironic-Api-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-6ddbef7d-9fa2-41d8-b59a-d0ec492bed72 X-Openstack-Ironic-Api-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': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-13cef297-4e8f-49ee-9e5f-42b7c504faa9 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": "2021-12-14T09:44:52.067743+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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3098d54-8f52-4289-b2bd-083b2e6a3dbe X-Openstack-Ironic-Api-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-386e6112-91ce-48aa-8432-eb7dca7f8c11 X-Openstack-Ironic-Api-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/565c1e99-95cb-404b-95f6-0ec34a4f9a14 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48b645f1-1513-4cee-80ba-09ab4cc7e214 X-Openstack-Ironic-Api-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 565c1e99-95cb-404b-95f6-0ec34a4f9a14 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': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab0a10cc-399a-4956-94fc-294d7391c578 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f28c238c-b1a9-4766-b0db-20f2c54a599b X-Openstack-Ironic-Api-Maximum-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 {} GOT:{'targets': [{'uuid': '08a635ca-0ee8-4499-8160-1287230d24e5', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/08a635ca-0ee8-4499-8160-1287230d24e5', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/08a635ca-0ee8-4499-8160-1287230d24e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a6f68e18-6b04-4b5a-a966-83d90402d4cf', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a6f68e18-6b04-4b5a-a966-83d90402d4cf', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a6f68e18-6b04-4b5a-a966-83d90402d4cf', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6a6d4c7b-9cec-42cd-948a-54655b35fa7d', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/6a6d4c7b-9cec-42cd-948a-54655b35fa7d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6a6d4c7b-9cec-42cd-948a-54655b35fa7d', '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=6a6d4c7b-9cec-42cd-948a-54655b35fa7d'} 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?fields=uuid,extra {} GOT:{'targets': [{'uuid': '49b3442e-f26d-4549-b4c1-a56083ba1c46', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/49b3442e-f26d-4549-b4c1-a56083ba1c46', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/49b3442e-f26d-4549-b4c1-a56083ba1c46', 'rel': 'bookmark'}]}, {'uuid': 'd6076449-1f57-4111-862e-e2b3025d503f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/d6076449-1f57-4111-862e-e2b3025d503f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d6076449-1f57-4111-862e-e2b3025d503f', 'rel': 'bookmark'}]}, {'uuid': '40b5bee2-5d4d-4314-b490-ab734e1cc484', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/40b5bee2-5d4d-4314-b490-ab734e1cc484', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/40b5bee2-5d4d-4314-b490-ab734e1cc484', 'rel': 'bookmark'}]}]} 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-70893f40-bb42-47b5-a83a-c361a81ceb94 X-Openstack-Ironic-Api-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/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'}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.047400s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.035293s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.031787s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.079519s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.036312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.042047s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.049231s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.014673s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.036374s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.047626s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.032712s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.014108s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.014792s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.028352s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.048340s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.050628s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.033266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.032969s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.025506s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.037534s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.029050s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.045458s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.060248s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.029393s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.030058s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.027681s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.031639s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64612bd0-5052-48b9-8bcd-8b6421de1906 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} 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-06fede46-887c-49c4-b209-b996e1b3da39 X-Openstack-Ironic-Api-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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6908b0c4-5ae5-40db-abe2-b63d4e1d780e X-Openstack-Ironic-Api-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': '/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-a3761533-abc7-4ebc-b666-03281ec63df5 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": "2021-12-14T09:44:52.575536+00:00", "updated_at": "2021-12-14T09:44:52.578617+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_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b86d9747-ac9d-4331-bb99-a6d705bfe17e X-Openstack-Ironic-Api-Maximum-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}"} 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-b905f73f-b676-4d8c-b5aa-5034120244f7 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 {} 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 {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3630d4bd-3965-4a00-bff0-a1d810eee8fb X-Openstack-Ironic-Api-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}"} 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.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.063790s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.051274s] ... 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': '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-002bc87f-d4a8-42b3-b75d-0723cd6d40d7 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": "2021-12-14T09:44:52.142123+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/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-906ea16c-3b5a-4d37-b93c-722a6796fb21 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/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-df546565-fef9-4a53-b609-c5b6c93e83bf 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/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8a4689d-1c84-4546-a12c-63a306d1e742 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?node=test-node {} GOT:{'portgroups': [{'uuid': '77c3eeaf-86cc-4fe8-bbf3-5c8f2065b461', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/77c3eeaf-86cc-4fe8-bbf3-5c8f2065b461', 'rel': 'self'}, {'href': 'http://localhost/portgroups/77c3eeaf-86cc-4fe8-bbf3-5c8f2065b461', 'rel': 'bookmark'}]}, {'uuid': '5d44a3a8-4d45-411e-8a3f-a73e04d63077', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/5d44a3a8-4d45-411e-8a3f-a73e04d63077', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5d44a3a8-4d45-411e-8a3f-a73e04d63077', 'rel': 'bookmark'}]}, {'uuid': '2110276a-8b1a-4744-b62c-b807e95d335f', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/2110276a-8b1a-4744-b62c-b807e95d335f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2110276a-8b1a-4744-b62c-b807e95d335f', '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'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ab361759-2916-4d2f-9440-c9b7d293cae2 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 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:52.683328+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 {} GOT:{'portgroups': [{'uuid': '0de9f5b9-9099-4591-93e5-903d839f242e', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/0de9f5b9-9099-4591-93e5-903d839f242e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0de9f5b9-9099-4591-93e5-903d839f242e', 'rel': 'bookmark'}]}, {'uuid': 'd2dd9986-fe6a-4fda-a8d4-721e9c874a1e', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/d2dd9986-fe6a-4fda-a8d4-721e9c874a1e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d2dd9986-fe6a-4fda-a8d4-721e9c874a1e', 'rel': 'bookmark'}]}, {'uuid': '53d66aac-e5b5-45ed-b8a8-22feeef283fe', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/53d66aac-e5b5-45ed-b8a8-22feeef283fe', 'rel': 'self'}, {'href': 'http://localhost/portgroups/53d66aac-e5b5-45ed-b8a8-22feeef283fe', 'rel': 'bookmark'}]}, {'uuid': '7684d373-d8fd-4513-b8cd-0e56a2506982', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/7684d373-d8fd-4513-b8cd-0e56a2506982', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7684d373-d8fd-4513-b8cd-0e56a2506982', 'rel': 'bookmark'}]}, {'uuid': '91f2ac86-8954-4a5f-937d-ad275d69a3f8', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/91f2ac86-8954-4a5f-937d-ad275d69a3f8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/91f2ac86-8954-4a5f-937d-ad275d69a3f8', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53147239-436d-4c4f-8282-d15e7d45454b 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?sort_key=uuid {} /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_portgroup.TestListPortgroups.test_sort_key [0.032964s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.034040s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.036327s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.034444s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.054589s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.082348s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:52.426126+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/4d3d099b-d8b3-49f5-ba28-260e029d797d {} GOT:{'uuid': '4d3d099b-d8b3-49f5-ba28-260e029d797d', 'created_at': '2021-12-14T09:44:52.469350+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'self'}, {'href': 'http://localhost/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d {} GOT:{'uuid': '4d3d099b-d8b3-49f5-ba28-260e029d797d', 'created_at': '2021-12-14T09:44:52.469350+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'self'}, {'href': 'http://localhost/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/4d3d099b-d8b3-49f5-ba28-260e029d797d {} GOT:{'uuid': '4d3d099b-d8b3-49f5-ba28-260e029d797d', 'created_at': '2021-12-14T09:44:52.469350+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'self'}, {'href': 'http://localhost/ports/4d3d099b-d8b3-49f5-ba28-260e029d797d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/06c68d50-6968-4e24-8d04-950f72caf4f5 {} GOT:{'uuid': '06c68d50-6968-4e24-8d04-950f72caf4f5', 'created_at': '2021-12-14T09:44:52.534165+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'self'}, {'href': 'http://foo/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/06c68d50-6968-4e24-8d04-950f72caf4f5 {} GOT:{'uuid': '06c68d50-6968-4e24-8d04-950f72caf4f5', 'created_at': '2021-12-14T09:44:52.534165+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'self'}, {'href': 'http://foo/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/06c68d50-6968-4e24-8d04-950f72caf4f5 {} GOT:{'uuid': '06c68d50-6968-4e24-8d04-950f72caf4f5', 'created_at': '2021-12-14T09:44:52.534165+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'self'}, {'href': 'http://foo/ports/06c68d50-6968-4e24-8d04-950f72caf4f5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7b268809-29fd-4373-9fce-c0f638fe5da1 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?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d00269c6-cc27-494b-9f48-5d531553e6ef X-Openstack-Ironic-Api-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-1f2b6590-a47f-4a9d-a809-f03e7679fbbf X-Openstack-Ironic-Api-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-f07ea5bc-73ca-4477-a88f-0dd2d92ef1ec X-Openstack-Ironic-Api-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-b371528c-6cc6-40e8-887f-ac6f6a774c44 X-Openstack-Ironic-Api-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-c4f21a8a-6915-469f-a4b6-acb3014a144c 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": "2021-12-14T09:44:52.709005+00:00", "updated_at": "2021-12-14T09:44:52.729100+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': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a13da38-521f-43e1-85b8-9f84ea4ce54e 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': 'physnet1', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.037840s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.032020s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.027977s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.038641s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.039223s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.059273s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.048498s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.049999s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2b98b6c-f528-44b5-9446-0ccbd4fcba7e 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": "2021-12-14T09:44:52.757297+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-a2b98b6c-f528-44b5-9446-0ccbd4fcba7e 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": "2021-12-14T09:44:52.757297+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-32cdf424-da21-47f7-ae30-00fd9b33e662 {"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-32cdf424-da21-47f7-ae30-00fd9b33e662 {"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 get /v1 GET: /v1 {} {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.055219s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.044891s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.037298s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-113af154-ed53-4d71-be10-18d30fe53bd3 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-d90be035-0b5c-4b2d-8705-bc323b363b4e 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": "2021-12-14T09:44:52.429962+00:00", "updated_at": "2021-12-14T09:44:52.443269+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': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cc57cc6f-8d7e-492f-8b24-f2cfaf573208 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': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c1ce8650-a4a3-4d72-8fbb-8ed124175a52 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/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f4cb58b6-8577-42ad-a698-c312fa67590d 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-c07f7f29-9b4b-4b12-8e21-f2516d2128ec 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": "2021-12-14T09:44:52.587879+00:00", "updated_at": "2021-12-14T09:44:52.599910+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': '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-c1834714-5b34-437a-a620-00550ebbe012 X-Openstack-Ironic-Api-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}"} 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-a2cfb220-53a9-4972-93dc-cd0dc0efab5f X-Openstack-Ironic-Api-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', '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-ca86ad59-1a0a-447d-afa2-b07182ad8329 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['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', '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-1ecaebca-3528-4a5e-b183-cb4b4ff2437d 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 Failed validating 'required' in schema\", \"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'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.069921s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.046144s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.230100s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.030597s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_port.TestPatch.test_update_address_invalid_format [0.037098s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.030378s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da980ce0-9c35-4861-9869-622681000146 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-da980ce0-9c35-4861-9869-622681000146 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/ GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-528ee46b-97fc-4257-a78c-45d81607212c 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"}]} {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.041330s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.062044s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.040072s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.062708s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.164199s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-528ee46b-97fc-4257-a78c-45d81607212c 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/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-f20b3a8d-b000-4526-8449-4601f600e177 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-f20b3a8d-b000-4526-8449-4601f600e177 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a1a07407-f9c9-49bd-8a8b-3522769a5bc1 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": "2021-12-14T09:44:53.037701+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"}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.063276s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.058721s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3bff96f4-7e5c-4ae7-ae98-c37d01f99a0a 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": "2021-12-14T09:44:52.789097+00:00", "updated_at": "2021-12-14T09:44:52.800284+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-20a68cb0-40be-4471-abd4-9c244d8e7ba1 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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d34543c9-d5ec-41b0-b24f-51b22ef89e43 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/58cb4a40-cfe7-4129-aa4c-d3e9d19884ac [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-edcbca6b-88bf-4836-921b-b9d80047e9fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "58cb4a40-cfe7-4129-aa4c-d3e9d19884ac", "created_at": "2021-12-14T09:44:52.889976+00:00", "updated_at": "2021-12-14T09:44:52.900670+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/58cb4a40-cfe7-4129-aa4c-d3e9d19884ac", "rel": "self"}, {"href": "http://localhost/ports/58cb4a40-cfe7-4129-aa4c-d3e9d19884ac", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} 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-3a2cdf31-ed03-42bb-9a3c-c2ffbc0b3226 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': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b7fe8dbe-d6ff-4d30-b205-4bab7971b91c 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 Failed validating 'required' in schema\", \"debuginfo\": null}"} 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-60bbf0b9-e37e-4c19-ac9f-770d7294c15a 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": "2021-12-14T09:44:53.031472+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-282b8ace-6bfd-400c-9d26-24f805ea0956 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': '/portgroup_uuid', 'value': 'd26d25b2-7168-47b5-aca7-5c6198678d46', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adbf5de5-be7f-4369-809f-d4f5d1ca0659 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": "2021-12-14T09:44:53.119458+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': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2850af19-783e-46ad-9d01-877b5e95f85e 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-5dd944be-821a-4331-873c-0ff460a53847 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": "2021-12-14T09:44:53.193543+00:00", "updated_at": "2021-12-14T09:44:53.208507+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/5fc97dd8-b58b-4923-b24c-1e1a83f555aa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.028317s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.038474s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1a07407-f9c9-49bd-8a8b-3522769a5bc1 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": "2021-12-14T09:44:53.037701+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-d8443151-a4bc-46e6-bfe0-40a02bdbca1a 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": "2021-12-14T09:44:53.100012+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": "2021-12-14T09:44:53.102446+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": [], "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": "ed6a0913-d7a0-4a1c-b657-a4777526c5b6", "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": "2021-12-14T09:44:53.115689+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.068838s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.027196s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.015706s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.015881s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.015815s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.045779s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.059156s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.037046s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.028546s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.074863s] ... ok GOT:{'portgroups': [{'uuid': '2d395143-9090-469c-9579-519c0d7b86da', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/2d395143-9090-469c-9579-519c0d7b86da', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2d395143-9090-469c-9579-519c0d7b86da', 'rel': 'bookmark'}]}, {'uuid': '457619e4-e751-4d5e-bdec-be13925fc357', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/457619e4-e751-4d5e-bdec-be13925fc357', 'rel': 'self'}, {'href': 'http://localhost/portgroups/457619e4-e751-4d5e-bdec-be13925fc357', 'rel': 'bookmark'}]}, {'uuid': 'e23e1dda-9ccc-4abe-9421-2512e6f4fdb4', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/e23e1dda-9ccc-4abe-9421-2512e6f4fdb4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e23e1dda-9ccc-4abe-9421-2512e6f4fdb4', 'rel': 'bookmark'}]}]} 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-ac0e0c6c-843c-4085-9a28-f1122896855e 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": "2021-12-14T09:44:52.823473+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': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-22d6216c-3207-4a68-b40e-d95fef88cf8e X-Openstack-Ironic-Api-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': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e48816aa-a60e-4b66-9162-0f7b38bf4baf X-Openstack-Ironic-Api-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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-76441052-ae7d-4838-8818-9155de791ca2 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": "2021-12-14T09:44:52.942720+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': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f4e2523d-aa29-44fa-813a-3f69d8bf673f 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": "2021-12-14T09:44:52.989631+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/0d91234e-7ebd-4554-91b3-aee0df5a7c1d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bd7a735-e9e5-4242-87bf-fda95821b100 X-Openstack-Ironic-Api-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 0d91234e-7ebd-4554-91b3-aee0df5a7c1d could not be found.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb5df9bb-5aa2-43f5-8607-7fec13262e48 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": "2021-12-14T09:44:53.163287+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"}]} 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'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.163902s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.065011s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.074273s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.064580s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.063116s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-61fe15e3-81c9-42de-88b5-6dcb339a7a02 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": "2021-12-14T09:44:52.840882+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'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-aaea832e-4255-41ba-9b8f-e11ed8d8748a X-Openstack-Ironic-Api-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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-37f9993a-0ba2-48cb-85b1-a1a909b3fe72 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': '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-a3813c6a-328f-4fc2-b99d-7e3df58bef44 X-Openstack-Ironic-Api-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': '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-6e61f32a-985b-4418-a7dd-e1cff395a27b X-Openstack-Ironic-Api-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) Failed validating 'additionalProperties' in schema[0]\", \"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-6690f7af-511b-4661-b925-40679bca4db6 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": "2021-12-14T09:44:53.246352+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'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-359b629a-01ad-4081-91b0-1f01fcac07fb X-Openstack-Ironic-Api-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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7ad8eb1c-c6af-4c7b-896a-0dc825bfc729 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": "2021-12-14T09:44:53.343942+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"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.033821s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.054527s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.032494s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.038210s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.037498s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.049438s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.031404s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.038419s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.042137s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.040003s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.075066s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08008dde-1cd9-4eb8-8a79-e81a156bf5f1 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 5fc97dd8-b58b-4923-b24c-1e1a83f555aa could not be found.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0fa52a56-888e-492e-a68e-ed284dce5e7b 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': 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-1b16d712-cff5-41c9-85dc-87cb646123ed 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 {} 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 {'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-069f1dcd-0add-479c-885b-2edd201c3e35 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": "2021-12-14T09:44:53.409109+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': '2021-12-14T09:44:53.409109+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': {}, '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-d413c810-acdb-438c-a514-351f9c1bc2cb 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": "2021-12-14T09:44:53.453720+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-d52982eb-62d9-4ecf-98a8-5c86da3b209c X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-3fb31feb-da2a-40f9-8637-b9b39f7955a3 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}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.114040s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.081000s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.054535s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.061825s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.082489s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8443151-a4bc-46e6-bfe0-40a02bdbca1a 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": "2021-12-14T09:44:53.100012+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": "2021-12-14T09:44:53.102446+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": [], "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": "ed6a0913-d7a0-4a1c-b657-a4777526c5b6", "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": "2021-12-14T09:44:53.115689+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"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e1437ab6-1177-491b-85b6-b9054c545de0 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": "2021-12-14T09:44:53.164911+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": "2021-12-14T09:44:53.168683+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": [], "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": "b5f5f71f-3c96-45c2-be22-dcedd2929deb", "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": "2021-12-14T09:44:53.184661+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.070312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.037144s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.078395s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.032739s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.056634s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e1437ab6-1177-491b-85b6-b9054c545de0 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": "2021-12-14T09:44:53.164911+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": "2021-12-14T09:44:53.168683+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": [], "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": "b5f5f71f-3c96-45c2-be22-dcedd2929deb", "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": "2021-12-14T09:44:53.184661+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_00017_nodes_node_ident_patch_admin [0.070863s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.055924s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.054894s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.052477s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.054470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.054709s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.058491s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.069433s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.050715s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.083617s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.055702s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4c7c9276-2b98-48c6-86c1-88c187c904c8 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": "2021-12-14T09:44:53.656992+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6c0c021a-6ccb-4eac-8344-dbb337f35a61 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": "2021-12-14T09:44:53.751886+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': 'df00a2ca-b794-4bbb-ab0e-1b026c12b3a3', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e490f315-ae28-4955-a96c-9c3dd1a007f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node df00a2ca-b794-4bbb-ab0e-1b026c12b3a3 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-3d499097-a740-4796-abde-a904ef2883a7 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": "2021-12-14T09:44:53.876195+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': '2021-12-14T09:44:53.876195+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-efe8a886-8ac1-48ad-8ccb-30b9c18921d1 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": "2021-12-14T09:44:53.944580+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'} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.050604s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.033310s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.039498s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.045509s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.031783s] ... ok 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-40073ec7-ba5b-42d5-b40b-91c8a60094e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-40073ec7-ba5b-42d5-b40b-91c8a60094e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5473e792-49e0-40fc-ac48-9075d11707a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5473e792-49e0-40fc-ac48-9075d11707a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-d55c9edd-a468-4e88-b656-9b45204c3273 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d55c9edd-a468-4e88-b656-9b45204c3273 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-de995b17-5deb-4340-a01d-21a4cc7490e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-de995b17-5deb-4340-a01d-21a4cc7490e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e6bbcd54-ab61-4d75-a602-fac6d2bab2be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e6bbcd54-ab61-4d75-a602-fac6d2bab2be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-2713b221-3c71-464e-94e9-c9d31fbf2729 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-2713b221-3c71-464e-94e9-c9d31fbf2729 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f2186af-d5a9-4eaa-9c80-b59152195524 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2f2186af-d5a9-4eaa-9c80-b59152195524 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1f101db9-89f3-4742-99a0-008eaf9f5b1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1f101db9-89f3-4742-99a0-008eaf9f5b1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.055491s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.058925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_raid_put_member [0.114398s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.093053s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.062367s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_get_admin [0.077301s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.040283s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00085_nodes_traits_put_admin [0.085281s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-1b6d8711-e6b0-4a05-b5c9-32cf99fa813a 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": "2021-12-14T09:44:53.390327+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': '2021-12-14T09:44:53.390327+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-3361fbd4-d2f5-4528-a91f-e3c1084b401f X-Openstack-Ironic-Api-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-dda6e473-55bd-4fb1-a1e9-9f483c434408 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": "2021-12-14T09:44:53.537748+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': '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-efaed816-010b-4415-b751-a9573f7f2952 X-Openstack-Ironic-Api-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/heartbeat/093e85fa-408e-440c-80fc-98eec34fc612 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f92e5976-fbfb-4b80-ad4f-18a33e600361 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 093e85fa-408e-440c-80fc-98eec34fc612 could not be found.\", \"debuginfo\": null}"} 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-e9954ea7-8999-4af4-b150-718af3cc188c 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/6c713057-de60-4b62-99a0-323c52bbdf7a {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44a6d0ed-aed7-4fa2-b56d-733e2e61e1ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6c713057-de60-4b62-99a0-323c52bbdf7a could not be found.\", \"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-ff9da7d2-ba47-4492-83fd-5c08ae114d5a 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-7b6ed1d4-6f35-4be7-9338-d0f20d3bfc25 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/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': 'de24d396-4221-4f83-9755-8f22e0f8316e', '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/de24d396-4221-4f83-9755-8f22e0f8316e', 'rel': 'self'}, {'href': 'http://localhost/nodes/de24d396-4221-4f83-9755-8f22e0f8316e', '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}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ba1ac1cf-677f-4d15-8426-c96db5b90a91 {} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.039847s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.034263s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.047690s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.035631s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.014785s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.027096s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.013902s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.024601s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.017017s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.013238s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.019338s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.073706s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.022800s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.013243s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.014376s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_delete_observer [0.063746s] ... 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': '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-82d029c4-5720-43a0-afc4-c2b4cc210307 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': 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-8be03006-d472-4cf2-a08e-ff4f8c7d9c6b 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": "2021-12-14T09:44:53.432014+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"} 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\"}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-ca590563-1f45-4204-84eb-e98362fdf968 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-f1d091ec-56c1-413a-9040-d6599dece55f X-Openstack-Ironic-Api-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}"} GET: /v1/portgroups/?limit=3 {} GOT:{'portgroups': [{'uuid': 'd040c251-3cac-4f4d-bde6-62777470295e', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/d040c251-3cac-4f4d-bde6-62777470295e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d040c251-3cac-4f4d-bde6-62777470295e', 'rel': 'bookmark'}]}, {'uuid': 'd740a5b8-a7a9-40e8-b00c-a6041e65cb3b', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/d740a5b8-a7a9-40e8-b00c-a6041e65cb3b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d740a5b8-a7a9-40e8-b00c-a6041e65cb3b', 'rel': 'bookmark'}]}, {'uuid': '8b003474-c201-48d4-8989-b4cd5d29b2d9', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/8b003474-c201-48d4-8989-b4cd5d29b2d9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8b003474-c201-48d4-8989-b4cd5d29b2d9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=8b003474-c201-48d4-8989-b4cd5d29b2d9'} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-243da4ee-01a6-441d-bca2-0fa478df2cbf X-Openstack-Ironic-Api-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 {} 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?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-33097886-1905-4423-953f-59ba893ad095 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?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?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:53.774604+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?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/6fc6321d-1865-43e8-a260-10fa0b839a94', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6fc6321d-1865-43e8-a260-10fa0b839a94', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/ebf0123e-47e0-426a-891e-ab748043ff88', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ebf0123e-47e0-426a-891e-ab748043ff88', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=ebf0123e-47e0-426a-891e-ab748043ff88'} GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-691276e2-ec4b-4472-9213-8fcab3f57316 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=uuid,spongebob {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.036790s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.048764s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.040066s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.031578s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.027395s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.031740s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.026552s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.038961s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.033164s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.034569s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.032454s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.070200s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.014209s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.013781s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.014620s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.040891s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-698b8450-e3d2-467c-9ff1-4ec9efe6f8c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-698b8450-e3d2-467c-9ff1-4ec9efe6f8c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1fc9c0d5-fec1-4bab-a1df-2025c7a31a45 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1fc9c0d5-fec1-4bab-a1df-2025c7a31a45 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-31827542-4b1a-4faf-803a-c547b88f0e87 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-31827542-4b1a-4faf-803a-c547b88f0e87 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-615c536d-4ec1-4f52-9470-fdf046da409a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-615c536d-4ec1-4f52-9470-fdf046da409a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-76e6c977-2eb8-4935-b837-546310a8231b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-76e6c977-2eb8-4935-b837-546310a8231b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a14a0850-c567-4f0e-af81-ed1e98b63736 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-a14a0850-c567-4f0e-af81-ed1e98b63736 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-cb217cf1-3f63-408a-8cb0-331b3213cabf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cb217cf1-3f63-408a-8cb0-331b3213cabf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-76213346-7731-4f23-8d19-9a120512314b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-76213346-7731-4f23-8d19-9a120512314b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1158bb29-fccd-4c1a-997f-109afe4ee441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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_00098_nodes_vifs_get_member [0.054150s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_get_observer [0.053312s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_vifs_post_admin [0.053336s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_vifs_post_observer [0.053147s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.023899s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.021192s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.027545s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.014494s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.013798s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.014407s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.018495s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.018153s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.015941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.014930s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.015973s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.015741s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.016356s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.016922s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72ba1088-770b-4d6e-9e7c-4056086650bf X-Openstack-Ironic-Api-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 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:54.024929+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.json {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:54.074881+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': '2021-12-14T09:44:54.114355+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?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce7c3f5c-593a-4fc5-99c9-4d5dc710f1fe X-Openstack-Ironic-Api-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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d7a3ce8-9ab9-42f9-8cd9-0a7aa86b12ab X-Openstack-Ironic-Api-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=mode {} GOT:{'portgroups': [{'uuid': '181785fd-cc15-4752-a9bf-3fac7660c67a', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/181785fd-cc15-4752-a9bf-3fac7660c67a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/181785fd-cc15-4752-a9bf-3fac7660c67a', 'rel': 'bookmark'}]}, {'uuid': '4c31effe-8bdc-43ae-925c-32d6a12f297b', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/4c31effe-8bdc-43ae-925c-32d6a12f297b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4c31effe-8bdc-43ae-925c-32d6a12f297b', 'rel': 'bookmark'}]}, {'uuid': '6711c464-085c-438f-9093-8513ac231c5f', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/6711c464-085c-438f-9093-8513ac231c5f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6711c464-085c-438f-9093-8513ac231c5f', '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-7d53481c-6ca5-4a22-b7d5-27c11e7159dd X-Openstack-Ironic-Api-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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b0ea294c-d50b-4bf7-8c29-9b0d7a11f536 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": "2021-12-14T09:44:54.278509+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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c142c4c0-1d04-4e73-873d-5aecb03c4ca4 X-Openstack-Ironic-Api-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'}] {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.062097s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.053057s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.036124s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.033755s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.036139s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.039030s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.029335s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.018712s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.052334s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.058218s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6551ed4c-00b3-4efd-b2cd-1ca9ad91adce 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": "2021-12-14T09:44:53.983347+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', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc9f04c9-4252-45d0-b95d-682fdb8f5c0c 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) Failed validating 'additionalProperties' in schema\", \"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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2718ddfc-1258-4d28-8eef-372ee72beb63 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": "2021-12-14T09:44:54.066409+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-38f5dd6e-35c0-4713-81a1-96fd10037f1b X-Openstack-Ironic-Api-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-0f756786-39f7-4b11-891d-cb2603f22bb4 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-1360b50d-f701-45ce-9b99-18d421399571 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-a5da5134-b49b-4a3f-b40c-894a88836b56 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": "2021-12-14T09:44:54.259685+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"} 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-da5b7724-20d0-4476-bdfe-a4b5d53da597 X-Openstack-Ironic-Api-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}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7fbde307-900f-425e-b1aa-a5898ed2001b X-Openstack-Ironic-Api-Maximum-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?fields=address,uuid {} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.044139s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.045468s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.032615s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.034894s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.041454s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.032533s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.026602s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.039698s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.014898s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.014914s] ... 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. {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.034933s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.033726s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.014856s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.015331s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.017456s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.033174s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_get_member [0.053283s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2bedbb4a-6d84-4b27-9a67-7a5e52093c24 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": "2021-12-14T09:44:54.346667+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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa4cd6a1-98b7-4533-9c4a-ac12e0bec513 X-Openstack-Ironic-Api-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-f70e4476-df73-42b5-8746-e98b2f9830b2 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": "2021-12-14T09:44:54.461138+00:00", "updated_at": "2021-12-14T09:44:54.464329+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-c316a28c-62c8-4347-95fe-2751d248a558 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": "2021-12-14T09:44:54.496672+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': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6be65c6c-31c6-4d56-8d8e-90e5de91b99a X-Openstack-Ironic-Api-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/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b462347-0c0b-4b44-82e0-4419b0da3dac 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": "2021-12-14T09:44:54.571557+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: 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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12768c74-90fa-439d-884b-3f591dd772b0 X-Openstack-Ironic-Api-Maximum-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-3a966aa6-5a52-49f6-8199-3f4b5931ce4c 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": "2021-12-14T09:44:54.671606+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': 'url2'} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.027924s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.032018s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.041081s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.032027s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.015120s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.015869s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.029724s] ... ok GOT:{'portgroups': [{'uuid': 'ba4389cf-d70a-4c97-af3a-fab9f21f2f7b', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/ba4389cf-d70a-4c97-af3a-fab9f21f2f7b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ba4389cf-d70a-4c97-af3a-fab9f21f2f7b', 'rel': 'bookmark'}]}, {'uuid': 'f2a4feb5-1f9c-4412-9355-a2a2c328b5da', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/f2a4feb5-1f9c-4412-9355-a2a2c328b5da', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f2a4feb5-1f9c-4412-9355-a2a2c328b5da', 'rel': 'bookmark'}]}, {'uuid': '07b2d6b8-938f-4655-ab44-7d8fad53d0e1', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/07b2d6b8-938f-4655-ab44-7d8fad53d0e1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/07b2d6b8-938f-4655-ab44-7d8fad53d0e1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=07b2d6b8-938f-4655-ab44-7d8fad53d0e1'} GET: /v1/portgroups/detail {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2021-12-14T09:44:54.452122+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 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{'portgroups': [{'uuid': '4c6d99df-9fa8-42a5-ac35-1bebf19e8045', 'created_at': '2021-12-14T09:44:54.525786+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/4c6d99df-9fa8-42a5-ac35-1bebf19e8045', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4c6d99df-9fa8-42a5-ac35-1bebf19e8045', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/4c6d99df-9fa8-42a5-ac35-1bebf19e8045/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4c6d99df-9fa8-42a5-ac35-1bebf19e8045/ports', 'rel': 'bookmark'}]}, {'uuid': '07aca5bb-8ae8-4999-be2c-e0d84c3db5c3', 'created_at': '2021-12-14T09:44:54.524850+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/07aca5bb-8ae8-4999-be2c-e0d84c3db5c3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/07aca5bb-8ae8-4999-be2c-e0d84c3db5c3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/07aca5bb-8ae8-4999-be2c-e0d84c3db5c3/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/07aca5bb-8ae8-4999-be2c-e0d84c3db5c3/ports', 'rel': 'bookmark'}]}, {'uuid': '5e3a00f3-46a3-41bf-a2d8-9fe33528517c', 'created_at': '2021-12-14T09:44:54.523859+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/5e3a00f3-46a3-41bf-a2d8-9fe33528517c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5e3a00f3-46a3-41bf-a2d8-9fe33528517c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/5e3a00f3-46a3-41bf-a2d8-9fe33528517c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5e3a00f3-46a3-41bf-a2d8-9fe33528517c/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?fields=uuid,extra {} GOT:{'portgroups': [{'uuid': '982ca3c8-0da4-48a5-b15e-331da854ee93', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/982ca3c8-0da4-48a5-b15e-331da854ee93', 'rel': 'self'}, {'href': 'http://localhost/portgroups/982ca3c8-0da4-48a5-b15e-331da854ee93', 'rel': 'bookmark'}]}, {'uuid': '48804cf7-f5ea-4395-8c23-2dc50b09f0dc', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/48804cf7-f5ea-4395-8c23-2dc50b09f0dc', 'rel': 'self'}, {'href': 'http://localhost/portgroups/48804cf7-f5ea-4395-8c23-2dc50b09f0dc', 'rel': 'bookmark'}]}, {'uuid': 'b7a4812f-dec1-46e3-9db3-4f5c96800d20', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/b7a4812f-dec1-46e3-9db3-4f5c96800d20', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b7a4812f-dec1-46e3-9db3-4f5c96800d20', '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?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} GET: /v1/portgroups/4055914f-0eac-45c9-a6f6-f78b54163e4f/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad577532-26e7-4ad7-b594-764c5f8f86a1 X-Openstack-Ironic-Api-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-cddcc49a-60f0-4c21-94d4-330f4493256b X-Openstack-Ironic-Api-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-aaa54d9f-c957-4e7a-8d3d-33432ca3aa12 X-Openstack-Ironic-Api-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-8925abd2-2d11-4834-8fa4-ec0293bded91 X-Openstack-Ironic-Api-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'}] {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.019609s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.014213s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.023215s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.022187s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.040800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.034253s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.048098s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.057727s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1158bb29-fccd-4c1a-997f-109afe4ee441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ab62e2e2-6d6f-4960-a801-dbada58b6424 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ab62e2e2-6d6f-4960-a801-dbada58b6424 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-50616a42-d441-40c8-931a-16064662198d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-50616a42-d441-40c8-931a-16064662198d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c5346273-8b51-447c-a71d-c06c89dca026 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c5346273-8b51-447c-a71d-c06c89dca026 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-810cedfa-6225-4d83-9d9e-6e60e50a09c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-810cedfa-6225-4d83-9d9e-6e60e50a09c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2001e18-2fcf-4926-9ef8-e9702fdc9f92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d2001e18-2fcf-4926-9ef8-e9702fdc9f92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-014d50a1-42f7-4b6b-b878-8b47dcc39212 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-014d50a1-42f7-4b6b-b878-8b47dcc39212 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a Openstack-Request-Id: req-893a04dc-e2c8-46e1-9c61-7ccdb0e047c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "73180c27-f2f4-4c77-ad60-d6a8cc65558a", "created_at": "2021-12-14T09:44:54.775751+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/73180c27-f2f4-4c77-ad60-d6a8cc65558a", "rel": "self"}, {"href": "http://localhost/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a/ports", "rel": "bookmark"}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_post_admin [0.060828s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.014729s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.014595s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.013766s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.038919s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.035338s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.051892s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.033650s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.030209s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.035387s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.026654s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.043876s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.034941s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.038250s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_detail_get_member [0.231612s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.016387s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.031819s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.015595s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.038909s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.013991s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.041237s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.013311s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00120_portgroups_detail_get_observer [0.057019s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.013189s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.034685s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.013960s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.013586s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.019140s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.013443s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.065607s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.015158s] ... ok GOT:{'node': {'uuid': 'ba1ac1cf-677f-4d15-8426-c96db5b90a91', '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/ba1ac1cf-677f-4d15-8426-c96db5b90a91', 'rel': 'self'}, {'href': 'http://localhost/nodes/ba1ac1cf-677f-4d15-8426-c96db5b90a91', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}} GET: /v1/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-e815c928-6b4b-4b99-9c63-efb5fb142edf 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=ab34155f-958b-4fa2-9891-e5ef6475febc {} GOT:{'node': {'uuid': 'ab34155f-958b-4fa2-9891-e5ef6475febc', '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/ab34155f-958b-4fa2-9891-e5ef6475febc', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab34155f-958b-4fa2-9891-e5ef6475febc', '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}} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea00c6cc-4b7f-41a3-ac2d-7187b6e14a28 X-Openstack-Ironic-Api-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/ {} 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-a33d3065-b0cd-48c2-974d-0f61108f8ca7 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ab588f68-aa98-40ad-b33b-77f9ee7915a3 X-Openstack-Ironic-Api-Maximum-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/?limit=3 {} GOT:{'connectors': [{'uuid': '1183e92a-8051-468a-b7d7-15462d493111', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1183e92a-8051-468a-b7d7-15462d493111', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1183e92a-8051-468a-b7d7-15462d493111', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6b700c49-80eb-4394-8fbb-52b9abcfb1a5', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6b700c49-80eb-4394-8fbb-52b9abcfb1a5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6b700c49-80eb-4394-8fbb-52b9abcfb1a5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '48f9a1ef-7f8f-4cff-97a3-fbb0aff69dad', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/48f9a1ef-7f8f-4cff-97a3-fbb0aff69dad', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/48f9a1ef-7f8f-4cff-97a3-fbb0aff69dad', '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=48f9a1ef-7f8f-4cff-97a3-fbb0aff69dad'} GET: /v1/volume/connectors?detail=True&limit=3 {} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.037123s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.030638s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.026514s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.035680s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-36159e16-5c02-4613-8e80-baec8dada1b1 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": "2021-12-14T09:44:54.739975+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': '/mode', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a53d27c-0197-48f3-a4bd-d3a20af3820f X-Openstack-Ironic-Api-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/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/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': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3e98be9b-d2f6-432d-b918-13bf22d65bbf 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/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-741bad26-88b1-4228-a144-54828a8c1d48 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": "2021-12-14T09:44:54.963564+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': '/internal_info', 'value': False, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3bccfb9-f3b3-4f8e-b709-e5b3d7cc655a X-Openstack-Ironic-Api-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': '/mode', 'op': 'add', 'value': '802.3ad'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-703976e1-3076-4784-8e1e-79c2bacee078 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}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c3ea03fa-e303-4e42-ac63-ee51e5963d05 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': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a5ed4f1-3b7c-4422-a42e-d88ce07328db 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": "2021-12-14T09:44:55.070876+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-ffc3c310-2020-4f97-afda-5fab7eb36ac8 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 {} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.042128s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.041657s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.016196s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.014520s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.014408s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.079495s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.031786s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.014224s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.016472s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.027105s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.070401s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.016476s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.015382s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.031487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.016117s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_get_admin [0.057383s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.037334s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.015831s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.030238s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.028186s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.015021s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.015195s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.027679s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.015498s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.016892s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.044658s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.025024s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.030112s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.027021s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.036538s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.043653s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.023713s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a Openstack-Request-Id: req-893a04dc-e2c8-46e1-9c61-7ccdb0e047c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "73180c27-f2f4-4c77-ad60-d6a8cc65558a", "created_at": "2021-12-14T09:44:54.775751+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/73180c27-f2f4-4c77-ad60-d6a8cc65558a", "rel": "self"}, {"href": "http://localhost/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/73180c27-f2f4-4c77-ad60-d6a8cc65558a/ports", "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-19798eab-9e24-406a-9dea-3e17cb1bb90f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-19798eab-9e24-406a-9dea-3e17cb1bb90f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-33099543-6142-40a0-827a-406f09a9e8a2 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": "2021-12-14T09:44:55.042039+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-33099543-6142-40a0-827a-406f09a9e8a2 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": "2021-12-14T09:44:55.042039+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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-126c808c-e0b4-473e-8d71-4184d3bd9bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-126c808c-e0b4-473e-8d71-4184d3bd9bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8e51c5ab-5619-423d-8f1c-9fbb8af42cc6 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-8e51c5ab-5619-423d-8f1c-9fbb8af42cc6 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-bcbb1d03-ea91-431d-8003-d86a8a62c30c 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-bcbb1d03-ea91-431d-8003-d86a8a62c30c 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-a4e4f0c8-0879-48aa-b25d-224092b3d4f3 X-Openstack-Ironic-Api-Maximum-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_post_admin [0.066081s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_post_member [0.064024s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.038938s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.038085s] ... ok 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': '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-d39f4b19-a975-48dd-9b2b-58f6f6abbe6e 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": "2021-12-14T09:44:55.159507+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 {'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/584bc9ab-7dac-448b-835d-1ebfda82901b Openstack-Request-Id: req-793b27f1-d52c-4fcd-ad52-3c9357842e0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "584bc9ab-7dac-448b-835d-1ebfda82901b", "created_at": "2021-12-14T09:44:55.225484+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/584bc9ab-7dac-448b-835d-1ebfda82901b", "rel": "self"}, {"href": "http://localhost/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b/ports", "rel": "self"}, {"href": "http://localhost/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b/ports", "rel": "bookmark"}]} GET: /v1/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b {} GOT:{'uuid': '584bc9ab-7dac-448b-835d-1ebfda82901b', 'created_at': '2021-12-14T09:44:55.225484+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/584bc9ab-7dac-448b-835d-1ebfda82901b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/584bc9ab-7dac-448b-835d-1ebfda82901b/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, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4aefc497-f09b-4dd9-88cd-a32f74ef0615 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-c348b38c-84ff-49a0-854b-5ff5e48f2302 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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2b7e947-a2b7-4951-ae3f-fbe413f88ff5 X-Openstack-Ironic-Api-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/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-0fa45f3c-2e31-41d2-8ec0-d56f69ad3a34 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-b0198570-000c-4bf9-b68b-dbaea59156a2 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.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-ef2cdc21-f238-4503-a696-0c4365b680fc 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/5bceb186-c5da-44f8-9d13-d7e8db51538b {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93d0aec4-f689-4a69-ac20-060de18f4914 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}"} 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-92c5120c-35ed-4f1f-8c70-f4fa2606df66 X-Openstack-Ironic-Api-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': 'url2'} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.029850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.039788s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.026027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.019318s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.029071s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_detail_get_member [0.092870s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.025354s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.049332s] ... ok GOT:{'connectors': [{'uuid': '687f7c4b-6219-4676-8dc1-ecd32e0bb1b6', 'created_at': '2021-12-14T09:44:55.066169+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/687f7c4b-6219-4676-8dc1-ecd32e0bb1b6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/687f7c4b-6219-4676-8dc1-ecd32e0bb1b6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e525e685-815c-4856-9255-a28ad4deeb54', 'created_at': '2021-12-14T09:44:55.067092+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e525e685-815c-4856-9255-a28ad4deeb54', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e525e685-815c-4856-9255-a28ad4deeb54', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '977a534f-7967-4242-8dd0-486cff7cac84', 'created_at': '2021-12-14T09:44:55.067954+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/977a534f-7967-4242-8dd0-486cff7cac84', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/977a534f-7967-4242-8dd0-486cff7cac84', '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=977a534f-7967-4242-8dd0-486cff7cac84'} GET: /v1/volume/connectors?detail=True {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:55.103963+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-a7405a19-ebea-4c0d-ad0b-37ffa6fe4c67 X-Openstack-Ironic-Api-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?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'b14807c2-ab8d-4b7c-92d5-c571377e2848', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b14807c2-ab8d-4b7c-92d5-c571377e2848', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b14807c2-ab8d-4b7c-92d5-c571377e2848', 'rel': 'bookmark'}]}, {'uuid': 'e4a29264-3ff5-4a8b-85c7-3ca5b63fd1c0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/e4a29264-3ff5-4a8b-85c7-3ca5b63fd1c0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e4a29264-3ff5-4a8b-85c7-3ca5b63fd1c0', 'rel': 'bookmark'}]}, {'uuid': '37d69a03-39ae-4184-90bd-1522cb0263ef', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/37d69a03-39ae-4184-90bd-1522cb0263ef', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/37d69a03-39ae-4184-90bd-1522cb0263ef', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/c5d8be00-0ed1-4126-b48a-954e811b7972', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c5d8be00-0ed1-4126-b48a-954e811b7972', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/62f42ee4-027d-4bf2-a244-3877a1fa4be6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/62f42ee4-027d-4bf2-a244-3877a1fa4be6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=62f42ee4-027d-4bf2-a244-3877a1fa4be6'} 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-91c9fa33-6ce1-4aa8-9d36-3489da444bd6 X-Openstack-Ironic-Api-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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:55.287422+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/634543b5-13b7-4ecf-8791-f56b40165199 {} GOT:{'uuid': '634543b5-13b7-4ecf-8791-f56b40165199', 'created_at': '2021-12-14T09:44:55.317875+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199 {} GOT:{'uuid': '634543b5-13b7-4ecf-8791-f56b40165199', 'created_at': '2021-12-14T09:44:55.317875+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199 {} GOT:{'uuid': '634543b5-13b7-4ecf-8791-f56b40165199', 'created_at': '2021-12-14T09:44:55.317875+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/634543b5-13b7-4ecf-8791-f56b40165199', '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': '/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-5c36beae-a566-4d8d-9b22-e992ddb7a244 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": "2021-12-14T09:44:55.388680+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"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.030412s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.047698s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.063744s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.023986s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.014145s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.016074s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.063255s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_get_observer [0.114456s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.014293s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.016749s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.072241s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.014049s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.013464s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.026810s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.013109s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.074635s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.013116s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_ports_port_id_delete_admin [0.086584s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.024105s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.013227s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.011928s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.024860s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.042065s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.013558s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.013743s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.019737s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.041926s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.042448s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.047626s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.037512s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.032530s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_nodes_ports_get_observer [0.120622s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.063391s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.027879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.029879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.033700s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.014322s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3792e24b-75cf-4189-8114-38fbab742425 X-Openstack-Ironic-Api-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-7346ba47-7f53-4d29-b7f1-a0ac27cdf800 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-aa4e6f1f-d11e-44a5-8407-78ecc6554855 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-6ae0282b-2579-4c82-b8d7-060dd528f18b 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}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=133516fe-f3d7-45bc-82ab-b78cff661ba9 {} GOT:{'node': {'uuid': '133516fe-f3d7-45bc-82ab-b78cff661ba9', '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/133516fe-f3d7-45bc-82ab-b78cff661ba9', 'rel': 'self'}, {'href': 'http://localhost/nodes/133516fe-f3d7-45bc-82ab-b78cff661ba9', '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}} 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-59223c34-a6d7-4ff4-b42f-127346e3dc80 X-Openstack-Ironic-Api-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=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=9dff88e5-b1f1-4271-9bd0-25bf852b2816 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08ac1a11-775c-4189-8e5a-608ecab30993 X-Openstack-Ironic-Api-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=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': 'd1b4b7d0-46a7-4b6c-b6ac-3617ddfcf519', '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/d1b4b7d0-46a7-4b6c-b6ac-3617ddfcf519', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1b4b7d0-46a7-4b6c-b6ac-3617ddfcf519', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} GET: /v1/lookup?node_uuid=52477426-ccb6-40bc-a963-80c15cd9f192 {} GOT:{'node': {'uuid': '52477426-ccb6-40bc-a963-80c15cd9f192', '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/52477426-ccb6-40bc-a963-80c15cd9f192', 'rel': 'self'}, {'href': 'http://localhost/nodes/52477426-ccb6-40bc-a963-80c15cd9f192', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} GET: /v1/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 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a302503-077e-40ca-ab8e-d803932e50dd X-Openstack-Ironic-Api-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?fields=uuid,extra {} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.036682s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.027948s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.038946s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.019888s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.013731s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.043627s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.135526s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76f6be2f-7ecd-489f-a2f9-b535e13f3dcf X-Openstack-Ironic-Api-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-53e9760a-d462-4afb-828e-a7178a82df52 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": "2021-12-14T09:44:55.456364+00:00", "updated_at": "2021-12-14T09:44:55.459585+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-903192bc-993d-43b2-9448-0237054a934f 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": "2021-12-14T09:44:55.456364+00:00", "updated_at": "2021-12-14T09:44:55.459585+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': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3900bb6-8135-4064-9235-388aa2af3e81 X-Openstack-Ironic-Api-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-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a485fc3-94e8-44f9-8d7a-465be2a70fae 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": "2021-12-14T09:44:55.586540+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"} 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-2cd28763-7ae2-4990-80b3-57a8ad4d00c8 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": "2021-12-14T09:44:55.649801+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\": \"\"}"} 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-a3f5b5a1-6f02-4c0b-859c-358025c38934 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": "2021-12-14T09:44:55.755961+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': '2021-12-14T09:44:55.755961+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 {'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/6d0d8396-e13f-47c9-afda-58c16dcb38e1 Openstack-Request-Id: req-529e899b-fb05-475c-9ae7-c62b20d65660 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6d0d8396-e13f-47c9-afda-58c16dcb38e1", "created_at": "2021-12-14T09:44:55.819809+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6d0d8396-e13f-47c9-afda-58c16dcb38e1", "rel": "self"}, {"href": "http://localhost/volume/connectors/6d0d8396-e13f-47c9-afda-58c16dcb38e1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/6d0d8396-e13f-47c9-afda-58c16dcb38e1 {} GOT:{'uuid': '6d0d8396-e13f-47c9-afda-58c16dcb38e1', 'created_at': '2021-12-14T09:44:55.819809+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6d0d8396-e13f-47c9-afda-58c16dcb38e1', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6d0d8396-e13f-47c9-afda-58c16dcb38e1', '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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.055334s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.083396s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.042132s] ... ok ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4e4f0c8-0879-48aa-b25d-224092b3d4f3 X-Openstack-Ironic-Api-Maximum-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': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a578d164-c1de-41dd-aab8-4e997ff2286d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a578d164-c1de-41dd-aab8-4e997ff2286d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-44dc74bb-e41f-4c5e-8613-124862854b87 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-44dc74bb-e41f-4c5e-8613-124862854b87 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb999d38-3997-419a-9088-1cd2051ad226 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": "2021-12-14T09:44:55.559958+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-fb999d38-3997-419a-9088-1cd2051ad226 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": "2021-12-14T09:44:55.559958+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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1f9039ee-0f30-4ff0-8c83-82bd13111399 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1f9039ee-0f30-4ff0-8c83-82bd13111399 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c4a827e-13b7-48c8-8f41-3b03e70dc50f 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-1c4a827e-13b7-48c8-8f41-3b03e70dc50f 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ae3047d8-e98f-4713-9ad0-5745e4756d2d X-Openstack-Ironic-Api-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-ae3047d8-e98f-4713-9ad0-5745e4756d2d X-Openstack-Ironic-Api-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-c2cf70dc-cf6c-479c-baa0-bf3a02b7d323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_get_member [0.054277s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.034306s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.081129s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_connectors_get_admin [0.053602s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.035658s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.042908s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_connectors_get_observer [0.054526s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.165231s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.039598s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.013212s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.051268s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.026354s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.012641s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.012763s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.016875s] ... ok GOT:{'connectors': [{'uuid': 'd6cc1593-d0a8-49cc-8f41-ec058714a322', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/d6cc1593-d0a8-49cc-8f41-ec058714a322', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d6cc1593-d0a8-49cc-8f41-ec058714a322', 'rel': 'bookmark'}]}, {'uuid': '007e83d9-b07f-4183-b8b4-71465394c9ac', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/007e83d9-b07f-4183-b8b4-71465394c9ac', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/007e83d9-b07f-4183-b8b4-71465394c9ac', 'rel': 'bookmark'}]}, {'uuid': '2aba606e-4fce-4a71-af44-769ec27d7fcc', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/2aba606e-4fce-4a71-af44-769ec27d7fcc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2aba606e-4fce-4a71-af44-769ec27d7fcc', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=2aba606e-4fce-4a71-af44-769ec27d7fcc'} 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-73178a32-c5f2-42e2-acac-3af25c1bfbc6 X-Openstack-Ironic-Api-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?node=test-node {} GOT:{'connectors': [{'uuid': '3850ac69-3fe8-45e0-9a1a-f392cf9a741f', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3850ac69-3fe8-45e0-9a1a-f392cf9a741f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3850ac69-3fe8-45e0-9a1a-f392cf9a741f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '790471df-b97b-493a-b15c-fdbef34988b4', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/790471df-b97b-493a-b15c-fdbef34988b4', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/790471df-b97b-493a-b15c-fdbef34988b4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '02c5db28-89d0-49e5-9369-0fb1689496bd', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/02c5db28-89d0-49e5-9369-0fb1689496bd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/02c5db28-89d0-49e5-9369-0fb1689496bd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '1e2e2bcf-9c82-4085-9832-d67d2fc904d6', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1e2e2bcf-9c82-4085-9832-d67d2fc904d6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1e2e2bcf-9c82-4085-9832-d67d2fc904d6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '29d16200-d770-40bf-b756-0eeb43a90490', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/29d16200-d770-40bf-b756-0eeb43a90490', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/29d16200-d770-40bf-b756-0eeb43a90490', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '639f8d10-1fd2-46c0-80a3-b32e5b9bd278', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/639f8d10-1fd2-46c0-80a3-b32e5b9bd278', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/639f8d10-1fd2-46c0-80a3-b32e5b9bd278', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'cecaf523-c683-4b0f-bc8e-2de9387547bd', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/cecaf523-c683-4b0f-bc8e-2de9387547bd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/cecaf523-c683-4b0f-bc8e-2de9387547bd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd5c2efbd-3da4-4cd6-aff5-2df96f324bfc', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d5c2efbd-3da4-4cd6-aff5-2df96f324bfc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d5c2efbd-3da4-4cd6-aff5-2df96f324bfc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors?sort_key=uuid {} GOT:{'connectors': [{'uuid': '1e0910fe-d895-418e-8930-4b3cb7f19a24', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1e0910fe-d895-418e-8930-4b3cb7f19a24', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1e0910fe-d895-418e-8930-4b3cb7f19a24', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1e1cf11c-d913-4c8e-9013-450454d4517e', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1e1cf11c-d913-4c8e-9013-450454d4517e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1e1cf11c-d913-4c8e-9013-450454d4517e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd17dc36b-d302-469d-8867-4e8422437b15', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d17dc36b-d302-469d-8867-4e8422437b15', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d17dc36b-d302-469d-8867-4e8422437b15', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-baee8d8b-a049-44d4-be0d-1765024138f5 X-Openstack-Ironic-Api-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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-447fd5bd-2ccd-4253-a002-2d9d282f44f0 X-Openstack-Ironic-Api-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/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-13f4250e-ec90-49b4-b49a-8527a93cf1b4 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": "2021-12-14T09:44:56.102624+00:00", "updated_at": "2021-12-14T09:44:56.106011+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_id', 'value': '1', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.032321s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.040471s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00172_volume_connectors_post_admin [0.085913s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.027784s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.027189s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.044475s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.013794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.013547s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.027982s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.014446s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_connectors_post_observer [0.055226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.013162s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.020005s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.020698s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.075669s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.054033s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.020382s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.023356s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.047850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.022031s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.060821s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.019266s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.015941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.013519s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.215530s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.013684s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.014543s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.014381s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.012556s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.012736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.013242s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.038873s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.037399s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14883e18-987b-4c5a-8cf8-fb083ea3146f X-Openstack-Ironic-Api-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-c036d825-33a3-4d95-89e5-5d8175e55185 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": "2021-12-14T09:44:55.951409+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': '2021-12-14T09:44:55.951409+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-ac6490fe-216f-4fe7-a9ac-0414d2b6e594 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": "2021-12-14T09:44:56.044439+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: 204 No Content Openstack-Request-Id: req-9188a0dc-5cbb-4b4f-a9cd-5e837bfe1256 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-e014add9-150c-4e6c-9934-c06353e737df X-Openstack-Ironic-Api-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-3a347ce0-c92e-453c-bfa2-eac29e60c346 X-Openstack-Ironic-Api-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 {} GOT:{'targets': [{'uuid': 'f77004b6-d8d0-426c-9597-176466701190', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f77004b6-d8d0-426c-9597-176466701190', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f77004b6-d8d0-426c-9597-176466701190', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '17f33eb1-56ee-48dd-bf3c-de9a99bcb068', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/17f33eb1-56ee-48dd-bf3c-de9a99bcb068', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/17f33eb1-56ee-48dd-bf3c-de9a99bcb068', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7ffad4d8-a358-4775-81b1-c9e003b9dc09', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7ffad4d8-a358-4775-81b1-c9e003b9dc09', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7ffad4d8-a358-4775-81b1-c9e003b9dc09', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fa9289a8-0652-47fd-b6bc-fdc6f1ce8215', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fa9289a8-0652-47fd-b6bc-fdc6f1ce8215', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fa9289a8-0652-47fd-b6bc-fdc6f1ce8215', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '92124e4c-f28c-42d9-9b8a-e8fcc626012c', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/92124e4c-f28c-42d9-9b8a-e8fcc626012c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/92124e4c-f28c-42d9-9b8a-e8fcc626012c', '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\": \"\"}"} 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-57213774-17e7-4e36-8ed6-b1384aa6c225 X-Openstack-Ironic-Api-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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95cd69b8-ea12-4088-a28a-3e58ad9eecee X-Openstack-Ironic-Api-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': '/extra/non-existent', 'op': 'remove'}] {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.078871s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.083524s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.014591s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.014537s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.014655s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.026291s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.014959s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.014359s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c2cf70dc-cf6c-479c-baa0-bf3a02b7d323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-519afe27-da86-4474-af6f-87ca28721530 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-519afe27-da86-4474-af6f-87ca28721530 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-9b6d1a26-6bab-4886-a234-02b67ee00eb2 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-9b6d1a26-6bab-4886-a234-02b67ee00eb2 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/711ce048-18b6-4a03-815c-00aa175d918f Openstack-Request-Id: req-51fddf7e-df76-4675-93bf-4a051dd5a7e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "711ce048-18b6-4a03-815c-00aa175d918f", "created_at": "2021-12-14T09:44:56.199811+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/711ce048-18b6-4a03-815c-00aa175d918f", "rel": "self"}, {"href": "http://localhost/volume/connectors/711ce048-18b6-4a03-815c-00aa175d918f", "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/711ce048-18b6-4a03-815c-00aa175d918f Openstack-Request-Id: req-51fddf7e-df76-4675-93bf-4a051dd5a7e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "711ce048-18b6-4a03-815c-00aa175d918f", "created_at": "2021-12-14T09:44:56.199811+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/711ce048-18b6-4a03-815c-00aa175d918f", "rel": "self"}, {"href": "http://localhost/volume/connectors/711ce048-18b6-4a03-815c-00aa175d918f", "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-30b6885f-4739-4bef-b764-09d3bcf91db0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-30b6885f-4739-4bef-b764-09d3bcf91db0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b229f326-4c8a-4d19-922a-3f4a86acd972 X-Openstack-Ironic-Api-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-b229f326-4c8a-4d19-922a-3f4a86acd972 X-Openstack-Ironic-Api-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-317145c5-79d5-4af8-bee6-74db4b5ed075 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-317145c5-79d5-4af8-bee6-74db4b5ed075 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_targets_get_member [0.058473s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_targets_post_observer [0.075642s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.073269s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.049814s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.015441s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.014796s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.021580s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.041374s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.023699s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.089405s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.018473s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.018854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.055582s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.026226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.018583s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c02f459-26b7-4827-a89a-04f756b52382 X-Openstack-Ironic-Api-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': '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-0e150f3d-795e-486c-b055-1ba5a7843f94 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 {'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-c102372b-43ef-4715-bf13-d3610c1ae6a7 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-5d1df093-abd4-4227-b70a-62e2474c9da2 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": "2021-12-14T09:44:56.423003+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': 'bbda2eaa-ce6f-4783-8ce9-68d37f9ec7d2', '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-907aaf8e-0cdd-48b2-b50f-9b5f8feadea3 X-Openstack-Ironic-Api-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}"} GET: /v1/volume/targets/?limit=3 {} GOT:{'targets': [{'uuid': '57b9a8f6-0139-4227-9d83-60df410759fc', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/57b9a8f6-0139-4227-9d83-60df410759fc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/57b9a8f6-0139-4227-9d83-60df410759fc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '35f7f803-38ea-43ba-b6fb-e1a56cc93c00', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/35f7f803-38ea-43ba-b6fb-e1a56cc93c00', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/35f7f803-38ea-43ba-b6fb-e1a56cc93c00', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f9c5cf7d-0e7f-4129-969a-6a67223526cd', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f9c5cf7d-0e7f-4129-969a-6a67223526cd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f9c5cf7d-0e7f-4129-969a-6a67223526cd', '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=f9c5cf7d-0e7f-4129-969a-6a67223526cd'} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': 'cd701801-e938-45c3-a813-cf00dbef86c6', 'created_at': '2021-12-14T09:44:56.496730+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/cd701801-e938-45c3-a813-cf00dbef86c6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/cd701801-e938-45c3-a813-cf00dbef86c6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd61158dc-eed0-48f8-9683-79b1455704e7', 'created_at': '2021-12-14T09:44:56.497680+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/d61158dc-eed0-48f8-9683-79b1455704e7', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d61158dc-eed0-48f8-9683-79b1455704e7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'be607e75-038e-4ca7-8312-5b5ec9b7f0d0', 'created_at': '2021-12-14T09:44:56.498575+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/be607e75-038e-4ca7-8312-5b5ec9b7f0d0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/be607e75-038e-4ca7-8312-5b5ec9b7f0d0', '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=be607e75-038e-4ca7-8312-5b5ec9b7f0d0'} 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-33e16db8-3637-4b62-a1ea-c75f619589c6 X-Openstack-Ironic-Api-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=False {} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.031036s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.027009s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.041619s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.065080s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.017102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.033642s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.016748s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.078090s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.069585s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.019091s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.017635s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.014920s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.033277s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.062014s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.015993s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.013863s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.014780s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.039953s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.014205s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.014362s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.037449s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.013885s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.085185s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.029815s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3aaa6292-c07d-4664-a3ee-41c2ec1cbd0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3aaa6292-c07d-4664-a3ee-41c2ec1cbd0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4fe2ded0-2d8a-48d0-8d9a-dd75d6c81367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4fe2ded0-2d8a-48d0-8d9a-dd75d6c81367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-168a75f9-e4d7-4fc8-aa6f-655e3a534418 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-168a75f9-e4d7-4fc8-aa6f-655e3a534418 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45c6edfd-d9c8-4b41-9468-2720eea5da41 X-Openstack-Ironic-Api-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-45c6edfd-d9c8-4b41-9468-2720eea5da41 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba90b634-ead3-41fc-8295-99adc786f4d5 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-ba90b634-ead3-41fc-8295-99adc786f4d5 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5532b0fa-76ec-4ff1-ad05-fa9dc5cffc2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-5532b0fa-76ec-4ff1-ad05-fa9dc5cffc2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-0b2ae162-b5b1-4a9b-8be5-ae662623fb86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0b2ae162-b5b1-4a9b-8be5-ae662623fb86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5978f903-558b-4375-8200-173c6abd4699 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.050042s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.050098s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.211677s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating 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 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-374fc6da-b48b-42e8-8616-28af7ae09059 X-Openstack-Ironic-Api-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': '78fa5838-ff16-4584-8b66-04f2ff091539', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/78fa5838-ff16-4584-8b66-04f2ff091539', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/78fa5838-ff16-4584-8b66-04f2ff091539', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'df609b76-6ee4-4468-9f57-c7359051a04f', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/df609b76-6ee4-4468-9f57-c7359051a04f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/df609b76-6ee4-4468-9f57-c7359051a04f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f1d999d2-146e-4a74-9602-fb0d6eae6d69', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f1d999d2-146e-4a74-9602-fb0d6eae6d69', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f1d999d2-146e-4a74-9602-fb0d6eae6d69', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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?sort_key=uuid {} GOT:{'targets': [{'uuid': '22612eea-5209-49d0-8381-a6a1d654b1d5', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/22612eea-5209-49d0-8381-a6a1d654b1d5', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/22612eea-5209-49d0-8381-a6a1d654b1d5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '94123d9e-b5b6-4125-93ed-745bd1360963', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/94123d9e-b5b6-4125-93ed-745bd1360963', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/94123d9e-b5b6-4125-93ed-745bd1360963', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '9fe42b15-75cb-4879-bdca-41a4c6845927', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9fe42b15-75cb-4879-bdca-41a4c6845927', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9fe42b15-75cb-4879-bdca-41a4c6845927', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-616b882c-0eba-46b3-b87b-6acd31f693c7 X-Openstack-Ironic-Api-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-62801b53-6a1a-4add-a5f7-ca3468d62a08 X-Openstack-Ironic-Api-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-24caf2b3-e70e-402a-a569-e9b98af81a1f X-Openstack-Ironic-Api-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-45cd97d4-afce-47ad-8fde-b19fab548a15 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": "2021-12-14T09:44:56.830191+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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ed08da7-cd05-40e0-a9b1-49ccc841ba69 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": "2021-12-14T09:44:56.869597+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': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d43611f9-10b6-4c6f-91b0-3da3390b41da X-Openstack-Ironic-Api-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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.038711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.044068s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.045725s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.049482s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcfad19b-cd7c-4e30-ac88-25e77e3732b2 X-Openstack-Ironic-Api-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': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-0bfc36c8-1c54-47a7-9c76-aa1f89b3a91c 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-609847b2-5880-4e9c-9243-293914d76913 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-11af0496-20ea-43a3-90ad-9fc3dd0a7c5f 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-ffb61c54-e802-498a-8066-01f667bf8671 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3cb9917-d204-4ec9-a3d5-263737ee32cd 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_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0befad56-ee40-4ffe-a3c7-eb72ffd2294d 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/b63b6cc1-891c-4bde-b75b-8d564102fd7b {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec4b6246-c96f-4e29-9c56-62684cbd77a2 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': '91f2dc68-f833-4a1a-91e3-403a4f8cd6c5', '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/91f2dc68-f833-4a1a-91e3-403a4f8cd6c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/91f2dc68-f833-4a1a-91e3-403a4f8cd6c5', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} GET: /v1/lookup?node_uuid=6d61cf05-c9be-4a91-9202-d3571f5311aa {} GOT:{'node': {'uuid': '6d61cf05-c9be-4a91-9202-d3571f5311aa', '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/6d61cf05-c9be-4a91-9202-d3571f5311aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d61cf05-c9be-4a91-9202-d3571f5311aa', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a718f52-4686-4da3-99f1-859688ee0771 X-Openstack-Ironic-Api-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-405b59b7-fa39-420f-a00c-8ccf8383163c 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=8a3f6a18-3971-4f94-a42a-43a085822de3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f4432a02-27f3-4429-bc5c-2be5e0f8fbbe X-Openstack-Ironic-Api-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/volume/connectors {} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.049958s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.046614s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.041836s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.036145s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.043218s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.034724s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.025730s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.092284s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.032284s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.060087s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.037364s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.035198s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_post_admin [0.054169s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.034174s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.035097s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.026334s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.033440s] ... ok {3} 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. GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9988063a-c8fe-4f4b-990e-e3cb9e11870f X-Openstack-Ironic-Api-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-fe09f7b4-0b86-4410-98b0-e75c59e45ed0 X-Openstack-Ironic-Api-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_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ffc8c085-fea7-4719-a922-fc0f40522a33 X-Openstack-Ironic-Api-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/ea7742c5-9f10-4c4c-b2d6-bb7c78ccca72 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a057dd85-a16f-45fb-929c-f6baf8f8db77 X-Openstack-Ironic-Api-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 ea7742c5-9f10-4c4c-b2d6-bb7c78ccca72 could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/479aa19a-cc97-42a5-a143-d6ab0166b6da Openstack-Request-Id: req-8b51eb44-cf4f-494f-aaba-db377af15201 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "479aa19a-cc97-42a5-a143-d6ab0166b6da", "created_at": "2021-12-14T09:44:56.668539+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/479aa19a-cc97-42a5-a143-d6ab0166b6da", "rel": "self"}, {"href": "http://localhost/volume/targets/479aa19a-cc97-42a5-a143-d6ab0166b6da", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/479aa19a-cc97-42a5-a143-d6ab0166b6da {} GOT:{'uuid': '479aa19a-cc97-42a5-a143-d6ab0166b6da', 'created_at': '2021-12-14T09:44:56.668539+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/479aa19a-cc97-42a5-a143-d6ab0166b6da', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/479aa19a-cc97-42a5-a143-d6ab0166b6da', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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-8fcfe1fe-9334-431f-8e7d-93c1875ed716 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-4ac63a85-7015-4db7-b79d-b2716f50dc6e 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": "2021-12-14T09:44:56.737001+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-b958c21a-6c61-4c23-92ef-b0e6c5e8820f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b958c21a-6c61-4c23-92ef-b0e6c5e8820f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c1121946-a76e-4c08-9835-c285411fe0cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c1121946-a76e-4c08-9835-c285411fe0cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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_00005_nodes_get_node_admin [0.074891s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00002_nodes_post_admin [0.067360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.041177s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.030174s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_post_observer [0.050661s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab767161-6bd8-40ed-a2e3-a7640c2a1576 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": "2021-12-14T09:44:57.142541+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-ab767161-6bd8-40ed-a2e3-a7640c2a1576 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": "2021-12-14T09:44:57.142541+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 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.096160s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.027022s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.024359s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.058929s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.052459s] ... ok GOT:{'connectors': [{'uuid': 'af578622-837d-4846-b0cd-b5c0d56e46fd', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/af578622-837d-4846-b0cd-b5c0d56e46fd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/af578622-837d-4846-b0cd-b5c0d56e46fd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '157a04ff-2175-428a-bb4c-e7f7ca6d52aa', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/157a04ff-2175-428a-bb4c-e7f7ca6d52aa', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/157a04ff-2175-428a-bb4c-e7f7ca6d52aa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e2b3652e-2a41-41c0-ad73-8c7e7f88154b', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e2b3652e-2a41-41c0-ad73-8c7e7f88154b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e2b3652e-2a41-41c0-ad73-8c7e7f88154b', '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=e2b3652e-2a41-41c0-ad73-8c7e7f88154b'} 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/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'}]} 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-9b184b7c-c5d0-418b-9f69-8627ba4531fc X-Openstack-Ironic-Api-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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1989b85-2f0a-4531-a7f1-64c63f60ce93 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": "2021-12-14T09:44:57.084940+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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-558bfd3a-d56a-4625-b526-34560b884539 X-Openstack-Ironic-Api-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': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2385c865-efe2-47f4-8bb1-9ac047559e36 X-Openstack-Ironic-Api-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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8c0429bd-a2c6-4c6e-84af-8792b7855be4 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": "2021-12-14T09:44:57.188449+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': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4acc002d-e375-4856-bf24-c23d600d2475 X-Openstack-Ironic-Api-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-24340a2b-a1a2-456e-9c3a-9c557fb8a38b X-Openstack-Ironic-Api-Maximum-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}"} 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-90305316-81ac-4772-b607-15c954494f96 X-Openstack-Ironic-Api-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\": \"\"}"} 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-9c60cdf8-ca7b-42c2-98f7-bbc4acd003ba X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.031406s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.027324s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.040012s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.030781s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.033051s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.030003s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-271734a2-07e4-497d-b3c4-e99d66d739ca 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": "2021-12-14T09:44:56.936361+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': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-074ad619-363e-4f8f-b482-6f2c254744e3 X-Openstack-Ironic-Api-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': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-297f99dc-362f-44e7-a847-147c25af42e5 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": "2021-12-14T09:44:57.025601+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"} 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-3d48f8a1-e5cc-4019-9607-6f68951587e2 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-f4b3848e-9583-4567-8c49-5109b4090e86 X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"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-e1169df7-c038-4b8d-baa6-74131a9163b3 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": "2021-12-14T09:44:57.139882+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': '2021-12-14T09:44:57.139882+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/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-280226fa-0582-4225-bddc-317cfa4e24e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-280226fa-0582-4225-bddc-317cfa4e24e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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.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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dbf59c01-4d1a-4c76-b8af-347db5dadcf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-dbf59c01-4d1a-4c76-b8af-347db5dadcf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9791a308-0c11-44e8-b65c-def1e543255d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.068468s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.060871s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.092121s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.066754s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.052946s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5978f903-558b-4375-8200-173c6abd4699 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-131aee19-6cbb-4a36-86b2-f3de65251a76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-131aee19-6cbb-4a36-86b2-f3de65251a76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4b32a2d1-ec61-44fb-9199-dc507a327593 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4b32a2d1-ec61-44fb-9199-dc507a327593 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-659e0ca6-3a22-4295-a169-36c3e400a8b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-659e0ca6-3a22-4295-a169-36c3e400a8b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-995b49cd-b16c-4dbf-b2c7-f52a456ad2cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-995b49cd-b16c-4dbf-b2c7-f52a456ad2cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f8459dff-1c04-484e-88d4-fb9d04fbe1d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f8459dff-1c04-484e-88d4-fb9d04fbe1d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/a3ca7de7-fb26-4999-bd3f-0f9a80303856 PATCH: /v1/allocations/a3ca7de7-fb26-4999-bd3f-0f9a80303856 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e3c5db-e92d-4c61-93a2-2fb84652c941 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a3ca7de7-fb26-4999-bd3f-0f9a80303856", "created_at": "2021-12-14T09:44:57.322261+00:00", "updated_at": "2021-12-14T09:44:57.355683+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/a3ca7de7-fb26-4999-bd3f-0f9a80303856", "rel": "self"}, {"href": "http://localhost/allocations/a3ca7de7-fb26-4999-bd3f-0f9a80303856", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e3c5db-e92d-4c61-93a2-2fb84652c941 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a3ca7de7-fb26-4999-bd3f-0f9a80303856", "created_at": "2021-12-14T09:44:57.322261+00:00", "updated_at": "2021-12-14T09:44:57.355683+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/a3ca7de7-fb26-4999-bd3f-0f9a80303856", "rel": "self"}, {"href": "http://localhost/allocations/a3ca7de7-fb26-4999-bd3f-0f9a80303856", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/e1aec9c4-7a89-4952-b87e-74ae3825a71e PATCH: /v1/allocations/e1aec9c4-7a89-4952-b87e-74ae3825a71e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f461c687-0807-4846-81db-2d10d2c858d7 X-Openstack-Ironic-Api-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 e1aec9c4-7a89-4952-b87e-74ae3825a71e could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f461c687-0807-4846-81db-2d10d2c858d7 X-Openstack-Ironic-Api-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 e1aec9c4-7a89-4952-b87e-74ae3825a71e could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.052114s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.055357s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_post_observer [0.052296s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.051057s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.046784s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.079953s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.045177s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-741ad220-28f8-4b0f-8956-538f86025636 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": "2021-12-14T09:44:57.227396+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-741ad220-28f8-4b0f-8956-538f86025636 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": "2021-12-14T09:44:57.227396+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 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.073136s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.055636s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.058346s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_post_admin [0.049893s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.053446s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.024882s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.047607s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.042908s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-76776153-22ee-4ef3-b37c-b72c745c896b 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": "2021-12-14T09:44:57.319717+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-76776153-22ee-4ef3-b37c-b72c745c896b 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": "2021-12-14T09:44:57.319717+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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b552d5f-280c-4e83-b19f-232ca8deb436 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-0b552d5f-280c-4e83-b19f-232ca8deb436 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0c198f61-fbc4-4ba5-b25c-142e582e7994 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-0c198f61-fbc4-4ba5-b25c-142e582e7994 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b0b182c9-e530-49a9-9b3d-28e9d1b60287 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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_00027_nodes_maintenance_put_member [0.051982s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.061364s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.053219s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.078415s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.068761s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.053580s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.059976s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9791a308-0c11-44e8-b65c-def1e543255d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e73e957-c3e7-4218-bf1d-8033ca3acb9c 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": null, "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-0e73e957-c3e7-4218-bf1d-8033ca3acb9c 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": null, "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/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-8c54d9b6-4522-4661-9cde-a9cc276f781e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8c54d9b6-4522-4661-9cde-a9cc276f781e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4467dc04-a42b-4cf0-8681-cd671eb3f11a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4467dc04-a42b-4cf0-8681-cd671eb3f11a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e5048035-212c-42c1-baf0-096c11884362 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e5048035-212c-42c1-baf0-096c11884362 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac55048e-5866-456e-9e8b-66d70b1f6976 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-ac55048e-5866-456e-9e8b-66d70b1f6976 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fadf14a4-aa0b-4eec-8b0b-38b1d6a8eb25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fadf14a4-aa0b-4eec-8b0b-38b1d6a8eb25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.055750s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.059466s] ... ok API ACL Testing Path patch /v1/allocations/3b533b42-d520-45a1-b7bf-9ece9312c3d0 PATCH: /v1/allocations/3b533b42-d520-45a1-b7bf-9ece9312c3d0 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-557e0e78-c181-46fb-b6b9-e0de3f6189e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-557e0e78-c181-46fb-b6b9-e0de3f6189e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f411cf4f-d977-449f-bd9f-380626ee818b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f411cf4f-d977-449f-bd9f-380626ee818b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40741644-b828-4110-8c1d-d8f2531385df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-40741644-b828-4110-8c1d-d8f2531385df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/769604cc-a7f2-42db-8070-ac6ffea7141b GET: /v1/deploy_templates/769604cc-a7f2-42db-8070-ac6ffea7141b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1f20cba-614e-4df1-a0d1-8dbe56f7c837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "769604cc-a7f2-42db-8070-ac6ffea7141b", "created_at": "2021-12-14T09:44:57.602985+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/769604cc-a7f2-42db-8070-ac6ffea7141b", "rel": "self"}, {"href": "http://localhost/deploy_templates/769604cc-a7f2-42db-8070-ac6ffea7141b", "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-c1f20cba-614e-4df1-a0d1-8dbe56f7c837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "769604cc-a7f2-42db-8070-ac6ffea7141b", "created_at": "2021-12-14T09:44:57.602985+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/769604cc-a7f2-42db-8070-ac6ffea7141b", "rel": "self"}, {"href": "http://localhost/deploy_templates/769604cc-a7f2-42db-8070-ac6ffea7141b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/adc437d5-8031-4980-b9c6-6fa50173ae4f PATCH: /v1/deploy_templates/adc437d5-8031-4980-b9c6-6fa50173ae4f [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9157a94b-36dd-44cf-8a31-0bfbbfa866e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9157a94b-36dd-44cf-8a31-0bfbbfa866e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3 Openstack-Request-Id: req-c55f9ff6-e755-4dd3-ab4f-8c54a694e90c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9db89c0c-3b84-466f-84ae-f90feb783eb3", "created_at": "2021-12-14T09:44:57.719239+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3", "rel": "self"}, {"href": "http://localhost/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3 Openstack-Request-Id: req-c55f9ff6-e755-4dd3-ab4f-8c54a694e90c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9db89c0c-3b84-466f-84ae-f90feb783eb3", "created_at": "2021-12-14T09:44:57.719239+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3", "rel": "self"}, {"href": "http://localhost/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9db89c0c-3b84-466f-84ae-f90feb783eb3/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.049602s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00303_node_history_get_entry_admin [0.057647s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00305_node_history_get_entry_observer [0.055764s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.052800s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef2556e3-f518-49e6-ae6b-61b86df07f5e X-Openstack-Ironic-Api-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 Failed validating 'required' in schema\", \"debuginfo\": null}"} 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': '01aa1977-c7fe-474e-962c-d884fc96ea32', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/01aa1977-c7fe-474e-962c-d884fc96ea32', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/01aa1977-c7fe-474e-962c-d884fc96ea32', 'rel': 'bookmark'}]}, {'uuid': 'c598caed-f182-4ec8-8c14-f091835d938a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/c598caed-f182-4ec8-8c14-f091835d938a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c598caed-f182-4ec8-8c14-f091835d938a', 'rel': 'bookmark'}]}, {'uuid': '4b8dff8e-eec1-4ca0-b84d-39a6c34d9f1b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/4b8dff8e-eec1-4ca0-b84d-39a6c34d9f1b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4b8dff8e-eec1-4ca0-b84d-39a6c34d9f1b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=4b8dff8e-eec1-4ca0-b84d-39a6c34d9f1b'} GET: /v1/volume/targets?detail=True {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:57.481227+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=True&node=test-node {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:57.512710+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?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/2756fe21-0a02-40b7-b6f6-e589c59fc8f6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/2756fe21-0a02-40b7-b6f6-e589c59fc8f6', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/35d4b638-fdcc-47a3-aea4-28843b373e4f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/35d4b638-fdcc-47a3-aea4-28843b373e4f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=35d4b638-fdcc-47a3-aea4-28843b373e4f'} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2021-12-14T09:44:57.668777+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/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/f1548b7b-dca1-4608-8e15-f5c3f61c7e21 {} GOT:{'uuid': 'f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'created_at': '2021-12-14T09:44:57.724902+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/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets/f1548b7b-dca1-4608-8e15-f5c3f61c7e21 {} GOT:{'uuid': 'f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'created_at': '2021-12-14T09:44:57.724902+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/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/targets/f1548b7b-dca1-4608-8e15-f5c3f61c7e21 {} GOT:{'uuid': 'f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'created_at': '2021-12-14T09:44:57.724902+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/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f1548b7b-dca1-4608-8e15-f5c3f61c7e21', '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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fcd766a5-7cdd-4899-a155-5c3bcbc45e5d 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": "2021-12-14T09:44:57.776682+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', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2853d47-2e5d-4435-8439-35692a9f653f 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": "2021-12-14T09:44:57.840974+00:00", "updated_at": "2021-12-14T09:44:57.844735+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'}] {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.116606s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.053759s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.087183s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.041823s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.081437s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.043550s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.054072s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.067871s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.030776s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.056606s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0b182c9-e530-49a9-9b3d-28e9d1b60287 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-cfc7effe-698e-45ee-b7c5-e7ef0800781c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-cfc7effe-698e-45ee-b7c5-e7ef0800781c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-782fc36d-bd48-4b04-88f5-532ca750e08b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-782fc36d-bd48-4b04-88f5-532ca750e08b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6c7cb862-717c-40d6-b677-1dc1da6bed0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6c7cb862-717c-40d6-b677-1dc1da6bed0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5f82199-c217-4690-8d60-0691f35b98a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a5f82199-c217-4690-8d60-0691f35b98a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9a1c2582-6313-43cd-9c62-a9f013000206 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9a1c2582-6313-43cd-9c62-a9f013000206 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-028e67da-c9a5-4cb5-b6ec-fdadcb1166a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-028e67da-c9a5-4cb5-b6ec-fdadcb1166a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-604c0aca-a373-4376-8a83-41145ed3c5a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-604c0aca-a373-4376-8a83-41145ed3c5a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 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-f15f6245-b323-414e-b2f9-a37d46e62b61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.062759s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.063996s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.075949s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.051079s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_provision_put_member [0.070065s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.060161s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.063261s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_delete_admin [0.059861s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.066776s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00064_nodes_states_console_put_admin [0.077065s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f794b42-cca6-4aea-97e4-45509659797e 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": "2021-12-14T09:44:57.749461+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-2f794b42-cca6-4aea-97e4-45509659797e 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": "2021-12-14T09:44:57.749461+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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4933330e-6036-438b-bcf8-872ff728b153 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4933330e-6036-438b-bcf8-872ff728b153 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dab73c5f-3767-4360-ac77-1c47ee58446f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4933330e-6036-438b-bcf8-872ff728b153", "created_at": "2021-12-14T09:44:57.808790+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/4933330e-6036-438b-bcf8-872ff728b153", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dab73c5f-3767-4360-ac77-1c47ee58446f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4933330e-6036-438b-bcf8-872ff728b153", "created_at": "2021-12-14T09:44:57.808790+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/4933330e-6036-438b-bcf8-872ff728b153", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d6bbafb-b67a-4737-b8c0-0de161513685 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d6bbafb-b67a-4737-b8c0-0de161513685 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40079f0b-d84f-4c3d-9b9c-6ebea80a2b75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3d6bbafb-b67a-4737-b8c0-0de161513685", "created_at": "2021-12-14T09:44:57.865873+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/3d6bbafb-b67a-4737-b8c0-0de161513685", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40079f0b-d84f-4c3d-9b9c-6ebea80a2b75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3d6bbafb-b67a-4737-b8c0-0de161513685", "created_at": "2021-12-14T09:44:57.865873+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/3d6bbafb-b67a-4737-b8c0-0de161513685", "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-fbb3bd20-806b-4fb1-b661-7575f3fd814e X-Openstack-Ironic-Api-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-fbb3bd20-806b-4fb1-b661-7575f3fd814e X-Openstack-Ironic-Api-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-3ca7b653-3b9f-4879-bd47-8fb47adf3dea X-Openstack-Ironic-Api-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-3ca7b653-3b9f-4879-bd47-8fb47adf3dea X-Openstack-Ironic-Api-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-475e681a-dd72-4526-bf28-889ac362bd47 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": null, "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-475e681a-dd72-4526-bf28-889ac362bd47 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": null, "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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.076248s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.072366s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.061255s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_states_console_put_observer [0.056060s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b5887e1-a5b1-47bf-96ab-e04d5917bfb0 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": "2021-12-14T09:44:57.840974+00:00", "updated_at": "2021-12-14T09:44:57.844735+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': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-87341512-a1ad-4aef-8be1-2963dd324113 X-Openstack-Ironic-Api-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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac5c67c2-776f-4200-8fed-efbb66b1e661 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": "2021-12-14T09:44:57.980299+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"} 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': {'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-2ca68f57-4a83-4ff0-b4ad-d47da72b1084 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": "2021-12-14T09:44:58.062937+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': '2021-12-14T09:44:58.062937+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': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1ff0f8a7-8dca-46f6-a8a1-212a200c01d3 X-Openstack-Ironic-Api-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': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4db05ef-98cb-48e9-b6d5-3db4e037ed65 X-Openstack-Ironic-Api-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' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} API ACL Testing Path get /v1.json GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c4f6a2d-b8f3-477a-a533-09cfcf3eebba 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"}]} {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.060852s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.058526s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.079579s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7693ee87-75f7-4afe-9e76-707d2439ed1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7693ee87-75f7-4afe-9e76-707d2439ed1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b1e21b7a-fad5-41d3-922c-d6e11d7fbf60 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-b1e21b7a-fad5-41d3-922c-d6e11d7fbf60 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f06c9c37-1c28-4555-ac78-a363c2383e7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f06c9c37-1c28-4555-ac78-a363c2383e7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56f0d9cb-b566-4522-8832-6b5be6a2a9fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-56f0d9cb-b566-4522-8832-6b5be6a2a9fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b6ad225d-1ec9-45db-8222-99e3fd122c35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b6ad225d-1ec9-45db-8222-99e3fd122c35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a52efba8-d28c-48fd-bbaf-9e5b2acf1dda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-a52efba8-d28c-48fd-bbaf-9e5b2acf1dda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e69ecdbe-f118-484f-8d00-dbd899d90a6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e69ecdbe-f118-484f-8d00-dbd899d90a6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bc3a4493-47a8-4163-937a-abbb6d8c500e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-bc3a4493-47a8-4163-937a-abbb6d8c500e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.075058s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.116045s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.067017s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.078829s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.087810s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_vifs_post_member [0.055778s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.062290s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.055615s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.087332s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.070683s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.068732s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c4f6a2d-b8f3-477a-a533-09cfcf3eebba 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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-331b2f75-9a97-481c-9205-8f009d71bb09 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": null, "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-331b2f75-9a97-481c-9205-8f009d71bb09 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": null, "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-3042e76c-cb3c-4ad5-b406-795a0643a964 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3042e76c-cb3c-4ad5-b406-795a0643a964 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.068155s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.066449s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_get_member [0.060915s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.060208s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f15f6245-b323-414e-b2f9-a37d46e62b61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-cc98f75b-b34f-401f-9735-13941351d40e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cc98f75b-b34f-401f-9735-13941351d40e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c43b90c6-7e4d-4dd5-b354-5be9582551e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c43b90c6-7e4d-4dd5-b354-5be9582551e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b4270bff-d8b6-4286-bf37-729ec900e073 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b4270bff-d8b6-4286-bf37-729ec900e073 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-00384bf3-d8e8-4d4b-9136-d84b127b3992 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-00384bf3-d8e8-4d4b-9136-d84b127b3992 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d05cb871-df1a-4d64-ac28-31ad025119ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-d05cb871-df1a-4d64-ac28-31ad025119ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0c3f163-1ab1-4509-a7b1-d1b49410aef0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b0c3f163-1ab1-4509-a7b1-d1b49410aef0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5ae1ba3-aa2c-4bab-8ef0-389999b4db5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-c5ae1ba3-aa2c-4bab-8ef0-389999b4db5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b64ed04-2d34-4fd3-8507-0e9bc5794125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00106_nodes_management_indicators_get_admin [0.068312s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.058043s] ... ok {0} 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. {0} 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. {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.157642s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_put_member [0.070977s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.054734s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5560dd6c-0d5d-4a1b-ad70-000f45f64b60 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": "2021-12-14T09:44:58.480936+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-5560dd6c-0d5d-4a1b-ad70-000f45f64b60 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": "2021-12-14T09:44:58.480936+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-186664d7-9ec0-455a-ba32-5a91b4370af4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-186664d7-9ec0-455a-ba32-5a91b4370af4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e10aeb96-0561-4418-ad8e-056bc9b5ba4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e10aeb96-0561-4418-ad8e-056bc9b5ba4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.054092s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.084094s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.060354s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.087802s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_nodes_portgroups_get_member [0.055035s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.056654s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fa9802a-dcb9-4f5e-b79c-f0d7e2be93b2 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": null, "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-4fa9802a-dcb9-4f5e-b79c-f0d7e2be93b2 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": null, "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-4ffcaeba-ed87-4b38-9828-282dc5889c93 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-4ffcaeba-ed87-4b38-9828-282dc5889c93 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-b913ddeb-7b5c-4a74-b837-dadf5be1caf3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b913ddeb-7b5c-4a74-b837-dadf5be1caf3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-415817c3-bdb9-4bad-bc37-dbdf016e1eaf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-415817c3-bdb9-4bad-bc37-dbdf016e1eaf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-67238ad6-b4c2-4d81-bb18-e1fe2d966ebe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-67238ad6-b4c2-4d81-bb18-e1fe2d966ebe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-11f38bdd-814e-4333-bd51-a11103606bfe X-Openstack-Ironic-Api-Maximum-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-11f38bdd-814e-4333-bd51-a11103606bfe X-Openstack-Ironic-Api-Maximum-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-96366121-1191-4756-b72b-155dd045e5e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-96366121-1191-4756-b72b-155dd045e5e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-19d69ca2-6317-4555-941e-5a5c338b4f4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.097029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.065072s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.063422s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.052672s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.115771s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00045_owner_admin_can_patch_node_instance_info [0.082357s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.052424s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_get_member [0.058338s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-98783321-80cc-4449-8bbd-7f850aacbc8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-98783321-80cc-4449-8bbd-7f850aacbc8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-05e955c2-23a5-4b46-8b31-3f5d333a11e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-05e955c2-23a5-4b46-8b31-3f5d333a11e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-6e5d4e8f-b3c0-4e44-8fed-f700b910dbd4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6e5d4e8f-b3c0-4e44-8fed-f700b910dbd4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e629fb52-1a03-4ece-be43-b1e6dddae66d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e629fb52-1a03-4ece-be43-b1e6dddae66d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-18d83d27-bbba-48f5-8925-957596b98471 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-18d83d27-bbba-48f5-8925-957596b98471 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c69a49c1-2393-4a61-a080-5a1132e04bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-c69a49c1-2393-4a61-a080-5a1132e04bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c225529-013f-443c-8fe3-675e6482781c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9c225529-013f-443c-8fe3-675e6482781c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73679677-679f-470e-a518-5f2277da898b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-73679677-679f-470e-a518-5f2277da898b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_get_admin [0.057880s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.053760s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.053890s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.082745s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b64ed04-2d34-4fd3-8507-0e9bc5794125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-58f873b0-18cb-44b7-8757-028a36fe2c32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-58f873b0-18cb-44b7-8757-028a36fe2c32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-8b138e16-636b-45c6-bb7d-5f78f6905b5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8b138e16-636b-45c6-bb7d-5f78f6905b5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f84f2241-6cd3-4adc-a6f5-91c6115d7014 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-f84f2241-6cd3-4adc-a6f5-91c6115d7014 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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-01d371ef-9da8-4ba0-b889-03497301a060 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-01d371ef-9da8-4ba0-b889-03497301a060 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-e77442cd-aafb-422f-b62c-81989018c52b 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": "2021-12-14T09:44:58.873122+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-e77442cd-aafb-422f-b62c-81989018c52b 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": "2021-12-14T09:44:58.873122+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/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-a525111c-8ca8-47ba-8972-b8ea00034866 X-Openstack-Ironic-Api-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-a525111c-8ca8-47ba-8972-b8ea00034866 X-Openstack-Ironic-Api-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 {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_ports_port_id_delete_member [0.064987s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_post_member [0.058189s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_nodes_ports_get_admin [0.075324s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.101650s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_post_observer [0.068927s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.059322s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.063971s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_detail_get_admin [0.087207s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_portgroups_ports_get_admin [0.079254s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.253426s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06f26afc-3cf5-4a74-b132-6a0fd8a0f65d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-06f26afc-3cf5-4a74-b132-6a0fd8a0f65d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-02426813-1900-4b6c-abe7-0ee2059a8966 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-02426813-1900-4b6c-abe7-0ee2059a8966 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8ec4a075-2ca4-47fc-98d9-7142d865b28b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-8ec4a075-2ca4-47fc-98d9-7142d865b28b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3b7e9150-c955-4550-af6a-096f9278e9ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3b7e9150-c955-4550-af6a-096f9278e9ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d5ba201-20a4-4b50-a857-bda4512a1b0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3d5ba201-20a4-4b50-a857-bda4512a1b0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b5ea443f-9900-42cb-a5af-8e679e0a9372 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b5ea443f-9900-42cb-a5af-8e679e0a9372 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-53724675-c777-4ca7-9039-4baba3e22ffc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-53724675-c777-4ca7-9039-4baba3e22ffc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e827e477-25e9-4b7c-a6f4-ea7dc5990295 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e827e477-25e9-4b7c-a6f4-ea7dc5990295 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.056761s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.057876s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.053151s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.089140s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.087830s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.080073s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_connectors_post_member [0.057910s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.053452s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.050464s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0291dbfa-0b95-4eab-8328-d0fedc8f4f3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0291dbfa-0b95-4eab-8328-d0fedc8f4f3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b63df7a1-1f7e-445b-8394-8a8369bd7414 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b63df7a1-1f7e-445b-8394-8a8369bd7414 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9f573132-cb8a-40b7-98c4-7699b9e0f913 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9f573132-cb8a-40b7-98c4-7699b9e0f913 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c6f0236d-6504-4829-af0b-59ec1eeea326 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c6f0236d-6504-4829-af0b-59ec1eeea326 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3b4b8e56-9660-4c89-a1a2-a577181cd1d1 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": "2021-12-14T09:44:59.206074+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-3b4b8e56-9660-4c89-a1a2-a577181cd1d1 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": "2021-12-14T09:44:59.206074+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-cf3a55bf-1b08-4190-b2ce-379aad459574 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": "2021-12-14T09:44:59.297719+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-cf3a55bf-1b08-4190-b2ce-379aad459574 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": "2021-12-14T09:44:59.297719+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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.059446s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.059898s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.056668s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.049804s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_states_console_get_admin [0.083670s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.070392s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_states_console_get_member [0.062605s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d23c983-cb90-4f9e-a1ff-2396346b3a81 X-Openstack-Ironic-Api-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-6d23c983-cb90-4f9e-a1ff-2396346b3a81 X-Openstack-Ironic-Api-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-f556d48f-d8e9-4d7a-b052-f077f9518b5f 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-f556d48f-d8e9-4d7a-b052-f077f9518b5f 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-79da0987-43b1-4e24-a39e-caa20188ba76 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": "2021-12-14T09:44:59.136284+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-79da0987-43b1-4e24-a39e-caa20188ba76 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": "2021-12-14T09:44:59.136284+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-ef5d132b-b07b-475b-8367-126bd901e34d 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-ef5d132b-b07b-475b-8367-126bd901e34d 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-238ee6f3-d842-40f8-b5e7-4795ac3709e2 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-238ee6f3-d842-40f8-b5e7-4795ac3709e2 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/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-459839ad-915d-4b13-b930-fb338d0a7e98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-459839ad-915d-4b13-b930-fb338d0a7e98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d74c20a9-4f0a-45c8-a97b-5639433eca99 X-Openstack-Ironic-Api-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-d74c20a9-4f0a-45c8-a97b-5639433eca99 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a45b908-0cc1-43bb-a578-23d847db94a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00196_volume_volume_target_id_delete_admin [0.068375s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.055901s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.069492s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-19d69ca2-6317-4555-941e-5a5c338b4f4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cc4c1960-61ee-4bc7-a447-12b22e785ab1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-cc4c1960-61ee-4bc7-a447-12b22e785ab1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-22d0bcf1-5f58-43b6-9592-b03e8dbe7b46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-22d0bcf1-5f58-43b6-9592-b03e8dbe7b46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5233d891-997e-4d8e-900b-0413268c0236 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5233d891-997e-4d8e-900b-0413268c0236 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-e41799ce-7c7d-4ab6-a3bf-5b0ab3c0ff3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e41799ce-7c7d-4ab6-a3bf-5b0ab3c0ff3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-06ae20b2-0540-4539-8639-0d991975c0b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-06ae20b2-0540-4539-8639-0d991975c0b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0b4dac0a-90a7-46db-abb1-500fe6064422 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0b4dac0a-90a7-46db-abb1-500fe6064422 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36fd2a20-8e46-410b-a371-593fa61199b3 X-Openstack-Ironic-Api-Maximum-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-36fd2a20-8e46-410b-a371-593fa61199b3 X-Openstack-Ironic-Api-Maximum-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/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-2cace4d3-6117-4447-8c33-16c7e2e5d1fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.051925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00076_lessee_admin_cannot_get_boot_device [0.051785s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_states_console_put_member [0.072898s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.049313s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_get_observer [0.069428s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_post_observer [0.072422s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.053803s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.050259s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.058875s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00093_lessee_admin_can_put_power_state_change [0.050026s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_detail_get_admin [0.055855s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b2d46f72-ee41-4954-ba26-c1ce79abaaa4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b2d46f72-ee41-4954-ba26-c1ce79abaaa4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-31f86f01-8750-41b1-b130-afa90ad3c1f9 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-31f86f01-8750-41b1-b130-afa90ad3c1f9 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3271462-9aac-4406-972d-d16028531f46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b3271462-9aac-4406-972d-d16028531f46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-21c093dc-ae48-43f8-a87f-709e2234af4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-21c093dc-ae48-43f8-a87f-709e2234af4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d8a5f85-032d-4e12-9f0c-aae94cfb9eb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0d8a5f85-032d-4e12-9f0c-aae94cfb9eb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-0a26fffd-2e4f-4032-8c89-4cb474ee709b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-0a26fffd-2e4f-4032-8c89-4cb474ee709b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7ce80926-7f12-49b3-b4da-5939b2c608d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-7ce80926-7f12-49b3-b4da-5939b2c608d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ec7be9af-5330-4577-bc6e-68db640d0c9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ec7be9af-5330-4577-bc6e-68db640d0c9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.052120s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.053872s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.049171s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00096_owner_reader_cannot_put_power_state_change [0.050509s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.051876s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.097421s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_get_admin [0.054367s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3c0a7399-6823-4692-a41a-950bc39cb3d0 X-Openstack-Ironic-Api-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-3c0a7399-6823-4692-a41a-950bc39cb3d0 X-Openstack-Ironic-Api-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-1ab4be89-b86f-4f21-9860-e87412625ee2 X-Openstack-Ironic-Api-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-1ab4be89-b86f-4f21-9860-e87412625ee2 X-Openstack-Ironic-Api-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-1a1c28d1-d6e0-4bb2-aa99-329dbd2bb81c 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": "2021-12-14T09:44:59.492258+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-1a1c28d1-d6e0-4bb2-aa99-329dbd2bb81c 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": "2021-12-14T09:44:59.492258+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-77511a54-1eec-43f8-b9e0-622369794163 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-77511a54-1eec-43f8-b9e0-622369794163 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8ab73427-39da-4c85-bfb1-767292196e48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8ab73427-39da-4c85-bfb1-767292196e48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-75d7ddbb-2c6a-4f91-a251-ea3e9bc09a09 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": "2021-12-14T09:44:59.698820+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-75d7ddbb-2c6a-4f91-a251-ea3e9bc09a09 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": "2021-12-14T09:44:59.698820+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/detail GET: /v1/ports/detail {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00144_ports_detail_get_observer [0.057765s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_get_admin [0.072965s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.049152s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.053486s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.061754s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_ports_port_id_patch_member [0.066200s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.054855s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2cace4d3-6117-4447-8c33-16c7e2e5d1fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-073ba91d-85a9-4c35-aa7d-59af69f028be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-073ba91d-85a9-4c35-aa7d-59af69f028be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2f400654-a40b-4123-983e-3b8d20dbe063 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-2f400654-a40b-4123-983e-3b8d20dbe063 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/states GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d77d0079-55b6-4461-b46b-4985ba64e43e 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-d77d0079-55b6-4461-b46b-4985ba64e43e 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/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-0a125d49-5197-40b6-b56d-4041b776c63f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0a125d49-5197-40b6-b56d-4041b776c63f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-441e65ae-1e2a-45e1-b332-b27918619e64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-441e65ae-1e2a-45e1-b332-b27918619e64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-cce7fad8-3547-4a21-b6cb-54a7eecc5551 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-cce7fad8-3547-4a21-b6cb-54a7eecc5551 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-b20e8524-95c7-4488-906d-b8fa552ea9f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b20e8524-95c7-4488-906d-b8fa552ea9f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-f71bd1cb-ebda-4187-8263-d4ed1edb3573 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_can_put_boot_mode_state_change [0.058132s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00084_nodes_traits_get_observer [0.066931s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00153_ports_port_id_delete_observer [0.087919s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_third_party_admin_cannot_put_boot_mode_state_change [0.076726s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a45b908-0cc1-43bb-a578-23d847db94a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-be8b44b4-350a-495d-9725-d91e728b1eaf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-be8b44b4-350a-495d-9725-d91e728b1eaf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-89aa5847-a1a9-470e-ae26-a8b089ef6932 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-89aa5847-a1a9-470e-ae26-a8b089ef6932 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d6cc9488-f831-432a-bb79-03a8b379a799 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-d6cc9488-f831-432a-bb79-03a8b379a799 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04a281fb-4597-4fc2-9ede-694303a0a042 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-04a281fb-4597-4fc2-9ede-694303a0a042 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/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eed4ea52-84e3-4ba5-bac1-b9737b2f0e9f 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-eed4ea52-84e3-4ba5-bac1-b9737b2f0e9f 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-72c8a9de-3c1b-43cd-85da-090e3945c6cb X-Openstack-Ironic-Api-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-72c8a9de-3c1b-43cd-85da-090e3945c6cb X-Openstack-Ironic-Api-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 GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5141847-953d-49d6-bea9-ef49a29d4c61 X-Openstack-Ironic-Api-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.059886s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.072149s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_nodes_ports_get_member [0.063712s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00120_owner_member_can_set_raid_config [0.079180s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.078896s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_reader_cannot_get_console [0.054260s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fea4c4a1-88b7-4676-b6a2-8b6a59542f76 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": "2021-12-14T09:44:59.756624+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-fea4c4a1-88b7-4676-b6a2-8b6a59542f76 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": "2021-12-14T09:44:59.756624+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-0122a293-a99f-4d7a-926e-8ab356e60e70 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": "2021-12-14T09:44:59.822908+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-0122a293-a99f-4d7a-926e-8ab356e60e70 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": "2021-12-14T09:44:59.822908+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-554a26b3-625d-4f74-8863-304fd2ef800a X-Openstack-Ironic-Api-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-554a26b3-625d-4f74-8863-304fd2ef800a X-Openstack-Ironic-Api-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-31b5ef4b-1e1b-4c2a-96b8-0e1d9dbe84c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-31b5ef4b-1e1b-4c2a-96b8-0e1d9dbe84c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-64089db4-f08f-4514-aefe-fc461c5640ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-64089db4-f08f-4514-aefe-fc461c5640ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-66065118-74e0-401e-830a-4d0ebf883703 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": "2021-12-14T09:45:00.108530+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.TestRBACModelBeforeScopes.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.072637s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.061502s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_lessee_reader_cannot_get_console [0.048569s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.079708s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_put_observer [0.223519s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_admin_cannot_set_console [0.049420s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.057248s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_delete_member [0.056333s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_admin_cannot_get_vendor_passthru [0.050610s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_portgroups_ports_get_member [0.056240s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.054757s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_cannot_post_vendor_passthru [0.056124s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.065018s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-150b6745-388a-4db3-955a-6bb63f2bf03f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-150b6745-388a-4db3-955a-6bb63f2bf03f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9a2774ea-5585-47cb-8704-7719b21c55d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-9a2774ea-5585-47cb-8704-7719b21c55d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b056f9ec-0038-43ca-947b-3798348620ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b056f9ec-0038-43ca-947b-3798348620ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b598902c-6966-452e-b1a7-1b68e3eaf93b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b598902c-6966-452e-b1a7-1b68e3eaf93b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a9577d6-bc55-4d6a-855d-eb3eb964a04f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3a9577d6-bc55-4d6a-855d-eb3eb964a04f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a83e3bb4-f14e-4ed7-9897-dcba7e4f6efd 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-a83e3bb4-f14e-4ed7-9897-dcba7e4f6efd 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-df1e05ae-a01e-4554-ac09-567b16c95f7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-df1e05ae-a01e-4554-ac09-567b16c95f7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ec34d30-7aff-46ed-a645-d73dbf6c062a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-2ec34d30-7aff-46ed-a645-d73dbf6c062a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1fd61b82-137a-4388-9716-43a2b301187d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.053986s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.066148s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f71bd1cb-ebda-4187-8263-d4ed1edb3573 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e9d3e206-5332-4a0c-a048-72eb9d001868 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e9d3e206-5332-4a0c-a048-72eb9d001868 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-f0d3f21a-fe9d-4d8c-882a-4961cc9048de X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f0d3f21a-fe9d-4d8c-882a-4961cc9048de X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bc12b50c-720a-4d4b-a2bb-7ba6e69e2c7b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-bc12b50c-720a-4d4b-a2bb-7ba6e69e2c7b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-9fb19929-abc0-4ae6-a875-4a1f1221c1a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-9fb19929-abc0-4ae6-a875-4a1f1221c1a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ff9ff282-bf30-497a-b383-cae9015cba85 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ff9ff282-bf30-497a-b383-cae9015cba85 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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?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-7d8c59b2-c40e-485c-8362-37845a025d34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-7d8c59b2-c40e-485c-8362-37845a025d34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b3ebda21-e36f-4a63-a689-f9349ebc3ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b3ebda21-e36f-4a63-a689-f9349ebc3ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c4d6425f-7e7c-47a2-a162-4f8b1a69b475 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_lessee_reader_cannot_put_vendor_passthru [0.053092s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_owner_admin_can_delete_traits [0.059223s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_nodes_bios_get_member [0.053333s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_get_admin [0.108748s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.229893s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_lessee_member_cannot_put_custom_traits [0.053628s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_conductors_get_admin [0.051031s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.TestRBACProjectScoped.test_project_scoped_00182_owner_reader_get_vifs [0.049031s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_get_observer [0.054633s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5141847-953d-49d6-bea9-ef49a29d4c61 X-Openstack-Ironic-Api-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/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-5a7ccd04-f3dd-4b01-896c-1b94804f3273 X-Openstack-Ironic-Api-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-5a7ccd04-f3dd-4b01-896c-1b94804f3273 X-Openstack-Ironic-Api-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-59c328e6-5f32-4879-a3c1-89ad283fd380 X-Openstack-Ironic-Api-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-59c328e6-5f32-4879-a3c1-89ad283fd380 X-Openstack-Ironic-Api-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-d522f405-0013-4bb4-bb08-c6c5395d6bb5 X-Openstack-Ironic-Api-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-d522f405-0013-4bb4-bb08-c6c5395d6bb5 X-Openstack-Ironic-Api-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-aa425628-5c5e-4c4b-9a5e-a448cd19eea5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-aa425628-5c5e-4c4b-9a5e-a448cd19eea5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a5f056ed-4ce6-4982-b399-a3d9271ceb0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a5f056ed-4ce6-4982-b399-a3d9271ceb0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7e9e4f47-3bf0-42c1-9185-e2d045fec6d6 X-Openstack-Ironic-Api-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-7e9e4f47-3bf0-42c1-9185-e2d045fec6d6 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-14118a6f-9cd5-4f6c-ab16-fc796772483d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-14118a6f-9cd5-4f6c-ab16-fc796772483d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-636ef424-a19e-43e6-ba2f-0be62842501e 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-636ef424-a19e-43e6-ba2f-0be62842501e 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 GET: /v1/conductors {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_conductors_get_member [0.049271s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.056964s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_owner_member_can_post_vifs [0.051346s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_get_admin [0.110287s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_owner_reader_cannot_post_vifs [0.050553s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.064096s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00245_conductors_hostname_get_observer [0.118914s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.086338s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_third_party_admin_cannot_post_vifs [0.052556s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.061261s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.057110s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_third_party_admin_cannot_get_indicators [0.054678s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_get_observer [0.077641s] ... ok {3} 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. {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.052275s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.090381s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.050953s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66065118-74e0-401e-830a-4d0ebf883703 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": "2021-12-14T09:45:00.108530+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dd8ec404-0433-4115-9c44-faabc9c2a681 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-dd8ec404-0433-4115-9c44-faabc9c2a681 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3ef5177b-522e-4432-b943-e1c4fdac5b50 X-Openstack-Ironic-Api-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-3ef5177b-522e-4432-b943-e1c4fdac5b50 X-Openstack-Ironic-Api-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-8c09aa76-31d2-4480-92b9-5bf80a0125b5 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-8c09aa76-31d2-4480-92b9-5bf80a0125b5 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-68c8941f-689d-4c50-8b96-c22283b97bd4 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-68c8941f-689d-4c50-8b96-c22283b97bd4 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 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-d53bd1c3-c3f0-4c04-b30d-fed2adcea303 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d53bd1c3-c3f0-4c04-b30d-fed2adcea303 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ada7cc75-6d3e-4a28-96d4-25c6e118476a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ada7cc75-6d3e-4a28-96d4-25c6e118476a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa31fbe9-6e29-43a7-8efa-64d5ce11c733 X-Openstack-Ironic-Api-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-aa31fbe9-6e29-43a7-8efa-64d5ce11c733 X-Openstack-Ironic-Api-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 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.056066s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_targets_get_admin [0.073360s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1fd61b82-137a-4388-9716-43a2b301187d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1b52a02-989a-4288-89a6-36163006e284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e1b52a02-989a-4288-89a6-36163006e284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7bd70591-2fa9-498e-b0ed-b9cec52de841 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-7bd70591-2fa9-498e-b0ed-b9cec52de841 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 GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cfd00880-77f9-4c4d-bd22-2f9319e1daf9 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-cfd00880-77f9-4c4d-bd22-2f9319e1daf9 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/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-5c72a4b4-7100-46bb-b8ab-3c77051278a9 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": "2021-12-14T09:45:00.596461+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-5c72a4b4-7100-46bb-b8ab-3c77051278a9 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": "2021-12-14T09:45:00.596461+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-12a44f1b-2968-4b02-86df-564bbca45676 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-12a44f1b-2968-4b02-86df-564bbca45676 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6bf62f18-efba-4f22-9fee-906dae2b37f9 X-Openstack-Ironic-Api-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-6bf62f18-efba-4f22-9fee-906dae2b37f9 X-Openstack-Ironic-Api-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 {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.065948s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_get_member [0.121342s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c4d6425f-7e7c-47a2-a162-4f8b1a69b475 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-0543a75a-4215-449f-b03e-65db08d85bdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0543a75a-4215-449f-b03e-65db08d85bdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-687da275-45e5-4d23-8126-61b0734a8cc2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-687da275-45e5-4d23-8126-61b0734a8cc2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-64babfce-79ab-43c9-9ea3-d47f3c67fa4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-64babfce-79ab-43c9-9ea3-d47f3c67fa4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bb058885-17dd-431e-8ea2-25b8e5fb6473 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bb058885-17dd-431e-8ea2-25b8e5fb6473 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c7fdf17-abc6-4767-8362-9494964e8240 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4c7fdf17-abc6-4767-8362-9494964e8240 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f1d035a1-76cf-444a-9504-a18032d14f02 X-Openstack-Ironic-Api-Maximum-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-f1d035a1-76cf-444a-9504-a18032d14f02 X-Openstack-Ironic-Api-Maximum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af4e6f66-3a92-41e7-8051-b126a7f6ceb1 X-Openstack-Ironic-Api-Maximum-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-af4e6f66-3a92-41e7-8051-b126a7f6ceb1 X-Openstack-Ironic-Api-Maximum-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/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_reader_can_read_portgroup [0.052995s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_third_party_admin_cannot_read_portgroup [0.049157s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_owner_admin_can_add_portgroup [0.053047s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_targets_get_observer [0.061446s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00212_owner_member_cannot_add_portgroup [0.050118s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_targets_post_member [0.052307s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_admin_cannot_add_portgroup [0.051736s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_get_observer [0.158943s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.051780s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_nodes_allocation_get_member [0.202387s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_lessee_admin_cannot_modify_portgroup [0.051922s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_ports_port_id_patch_admin [0.061730s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.057307s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_ports_port_id_patch_observer [0.056298s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.052483s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00162_portgroups_ports_get_observer [0.058354s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_get_observer [0.049159s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9484ae3b-3e73-4f5c-b0b4-eb09ab400085 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": "2021-12-14T09:45:00.846964+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-9484ae3b-3e73-4f5c-b0b4-eb09ab400085 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": "2021-12-14T09:45:00.846964+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/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-f2bccf23-96ff-4478-9b29-854ba19b7c3e X-Openstack-Ironic-Api-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}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f2bccf23-96ff-4478-9b29-854ba19b7c3e X-Openstack-Ironic-Api-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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4 Openstack-Request-Id: req-2fdc95eb-4b61-4c39-9f6a-fd35ab411069 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "da0d924f-f75d-466f-9d8b-052cf562bbe4", "created_at": "2021-12-14T09:45:00.972344+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/da0d924f-f75d-466f-9d8b-052cf562bbe4", "rel": "self"}, {"href": "http://localhost/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4 Openstack-Request-Id: req-2fdc95eb-4b61-4c39-9f6a-fd35ab411069 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "da0d924f-f75d-466f-9d8b-052cf562bbe4", "created_at": "2021-12-14T09:45:00.972344+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/da0d924f-f75d-466f-9d8b-052cf562bbe4", "rel": "self"}, {"href": "http://localhost/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/da0d924f-f75d-466f-9d8b-052cf562bbe4/ports", "rel": "bookmark"}]} 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-836f17df-7e86-4624-addc-450b627d7c5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-836f17df-7e86-4624-addc-450b627d7c5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0e393f27-656e-4383-b267-de47d24863f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0e393f27-656e-4383-b267-de47d24863f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3a078b4a-2ad8-4ce0-a568-2275cac153b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3a078b4a-2ad8-4ce0-a568-2275cac153b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_delete_portgroup [0.051083s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_member_cannot_delete_portgroup [0.052181s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_owner_reader_can_list_ports [0.064481s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_owner_member_cannot_modify_port [0.060471s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-56ca2378-e4ab-4d36-af39-e44b139d9ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-56ca2378-e4ab-4d36-af39-e44b139d9ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b0e1eab4-9477-4734-8556-f5dbb44a7590 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": "2021-12-14T09:45:00.641462+00:00", "updated_at": "2021-12-14T09:45:00.642684+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-b0e1eab4-9477-4734-8556-f5dbb44a7590 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": "2021-12-14T09:45:00.641462+00:00", "updated_at": "2021-12-14T09:45:00.642684+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-f33dff80-f69f-4b5f-b13b-2059278a51b5 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": "c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "created_at": "2021-12-14T09:45:00.739640+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "rel": "self"}, {"href": "http://localhost/allocations/c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f33dff80-f69f-4b5f-b13b-2059278a51b5 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": "c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "created_at": "2021-12-14T09:45:00.739640+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "rel": "self"}, {"href": "http://localhost/allocations/c3bbbef7-4997-42df-a7b9-cd4f7b612cbc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510 GET: /v1/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9181d541-477b-4410-8d99-a136d9dc0428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "196d08aa-268c-4a9e-9846-2585dd3c8510", "created_at": "2021-12-14T09:45:00.796939+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510", "rel": "self"}, {"href": "http://localhost/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9181d541-477b-4410-8d99-a136d9dc0428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "196d08aa-268c-4a9e-9846-2585dd3c8510", "created_at": "2021-12-14T09:45:00.796939+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510", "rel": "self"}, {"href": "http://localhost/allocations/196d08aa-268c-4a9e-9846-2585dd3c8510", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/8fbefc95-b6d8-4415-ba98-8f9c40b4d443 DELETE: /v1/allocations/8fbefc95-b6d8-4415-ba98-8f9c40b4d443 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e4508c5-6a2b-4ced-a4f9-313b92de7285 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-6e4508c5-6a2b-4ced-a4f9-313b92de7285 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8626a2ad-30da-4ae3-aded-f9417b64aec6 X-Openstack-Ironic-Api-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-8626a2ad-30da-4ae3-aded-f9417b64aec6 X-Openstack-Ironic-Api-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/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_nodes_allocation_get_observer [0.056723s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_nodes_allocation_delete_member [0.063049s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_get_observer [0.058305s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.066184s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_connectors_get_member [0.057873s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_delete_port [0.054900s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b4fcb11-b19a-44af-8a80-70da1f2a984a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8b4fcb11-b19a-44af-8a80-70da1f2a984a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5da2df68-bb22-44ef-9ab1-76cb6c3aac20 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-5da2df68-bb22-44ef-9ab1-76cb6c3aac20 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-d4ab178b-81cb-4a82-8e34-26f86c4203ce 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-d4ab178b-81cb-4a82-8e34-26f86c4203ce 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34d90f80-37f5-4963-a861-7e5364efce65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-34d90f80-37f5-4963-a861-7e5364efce65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-87808f49-4475-4b1e-a242-b5af4ed0f07c X-Openstack-Ironic-Api-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-87808f49-4475-4b1e-a242-b5af4ed0f07c X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72f4883f-e7ae-4791-ad07-5cc326b2b01f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-72f4883f-e7ae-4791-ad07-5cc326b2b01f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26899ec9-d70b-4e0b-ab8b-fb856e070e21 X-Openstack-Ironic-Api-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-26899ec9-d70b-4e0b-ab8b-fb856e070e21 X-Openstack-Ironic-Api-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.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_get_admin [0.051420s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_get_member [0.055627s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.064600s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.068765s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_third_party_admin_cannot_delete_port [0.053481s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_get_member [0.086771s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.054227s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_get_connector_list [0.051281s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a866f62-2f13-4d1a-a2d3-3f9369fd3596 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2a866f62-2f13-4d1a-a2d3-3f9369fd3596 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14985b17-25d2-4189-bc4f-f9447c7fcc4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-14985b17-25d2-4189-bc4f-f9447c7fcc4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f6a35641-919b-4fab-a58b-72c3321df34f 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-f6a35641-919b-4fab-a58b-72c3321df34f 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 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-9713905d-f310-4274-a9a1-903375a8b4f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9713905d-f310-4274-a9a1-903375a8b4f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-48a4ed3e-a70d-43d9-9964-c8e9f36ee33a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-48a4ed3e-a70d-43d9-9964-c8e9f36ee33a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-c366fa73-4f9e-42ed-94e7-5a6df4af4092 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-c366fa73-4f9e-42ed-94e7-5a6df4af4092 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-3d427f69-6158-49fd-ad2b-d99ef9cdcdee 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-3d427f69-6158-49fd-ad2b-d99ef9cdcdee 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4a43da52-49e9-47d1-a7aa-cbe334e7c1d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4a43da52-49e9-47d1-a7aa-cbe334e7c1d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.064507s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.066908s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_driver_name_get_member [0.072400s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_targets_post_admin [0.072377s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c62cb677-6ee3-4537-be89-2a6c35939f6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "17fe3539-9ace-440d-a09c-95847a4e3e43", "created_at": "2021-12-14T09:45:01.140295+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/17fe3539-9ace-440d-a09c-95847a4e3e43", "rel": "self"}, {"href": "http://localhost/allocations/17fe3539-9ace-440d-a09c-95847a4e3e43", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c62cb677-6ee3-4537-be89-2a6c35939f6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "17fe3539-9ace-440d-a09c-95847a4e3e43", "created_at": "2021-12-14T09:45:01.140295+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/17fe3539-9ace-440d-a09c-95847a4e3e43", "rel": "self"}, {"href": "http://localhost/allocations/17fe3539-9ace-440d-a09c-95847a4e3e43", "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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0934cdac-a03b-450c-819d-901ba26b2d15 X-Openstack-Ironic-Api-Maximum-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-0934cdac-a03b-450c-819d-901ba26b2d15 X-Openstack-Ironic-Api-Maximum-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3b7dc17-80b1-4be6-81bc-d18f0ea13bee 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": "b680221b-502a-48cd-94b8-92fd436c16fa", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b680221b-502a-48cd-94b8-92fd436c16fa", "rel": "self"}, {"href": "http://localhost/deploy_templates/b680221b-502a-48cd-94b8-92fd436c16fa", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3b7dc17-80b1-4be6-81bc-d18f0ea13bee 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": "b680221b-502a-48cd-94b8-92fd436c16fa", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b680221b-502a-48cd-94b8-92fd436c16fa", "rel": "self"}, {"href": "http://localhost/deploy_templates/b680221b-502a-48cd-94b8-92fd436c16fa", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5 PATCH: /v1/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d5af788-d302-426c-8eed-c822b05c7858 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e44dd874-6659-442e-83c0-7a313a906de5", "created_at": "2021-12-14T09:45:01.327006+00:00", "updated_at": "2021-12-14T09:45:01.359315+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5", "rel": "self"}, {"href": "http://localhost/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5", "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-4d5af788-d302-426c-8eed-c822b05c7858 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e44dd874-6659-442e-83c0-7a313a906de5", "created_at": "2021-12-14T09:45:01.327006+00:00", "updated_at": "2021-12-14T09:45:01.359315+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5", "rel": "self"}, {"href": "http://localhost/deploy_templates/e44dd874-6659-442e-83c0-7a313a906de5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/787279d4-7498-4855-84e4-9384cd42359c PATCH: /v1/deploy_templates/787279d4-7498-4855-84e4-9384cd42359c [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-63f89f16-8c83-4dc7-abfe-d0e8f84912a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-63f89f16-8c83-4dc7-abfe-d0e8f84912a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/65028ce5-5624-4724-8b1b-b97ad17fa920 DELETE: /v1/deploy_templates/65028ce5-5624-4724-8b1b-b97ad17fa920 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7baf2305-d31c-4b0b-9735-b8a07974b818 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7baf2305-d31c-4b0b-9735-b8a07974b818 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 get /v1/chassis/detail GET: /v1/chassis/detail {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_detail_get_admin [0.048032s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00290_chassis_detail_get_observer [0.093852s] ... ok 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-dc8cd55e-0831-4754-bfba-da61f623a34e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-dc8cd55e-0831-4754-bfba-da61f623a34e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-9ba4bd26-9bb8-4980-8a4f-0db69128ba27 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9ba4bd26-9bb8-4980-8a4f-0db69128ba27 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce89484f-1990-47af-86f7-7f35ceb46b80 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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce89484f-1990-47af-86f7-7f35ceb46b80 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 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-7e616e29-9e85-4e35-97f5-28c9485ad45d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7e616e29-9e85-4e35-97f5-28c9485ad45d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8fe40e1d-418b-4bb8-b560-45174fb59747 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8fe40e1d-418b-4bb8-b560-45174fb59747 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3ea0db5c-d7dc-4eda-ae41-8697848f5ffa X-Openstack-Ironic-Api-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-3ea0db5c-d7dc-4eda-ae41-8697848f5ffa X-Openstack-Ironic-Api-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/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99857b55-d452-41bf-90bc-d9bafbfb76f9 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-99857b55-d452-41bf-90bc-d9bafbfb76f9 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 post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lessee_admin_cannot_post_volume_connector [0.079046s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.093313s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.067558s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_connector [0.111844s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00215_drivers_properties_get_member [0.187387s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.061853s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_lessee_admin_cannot_patch_volume_connectors [0.105823s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00301_node_history_get_member [0.083740s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-57741d79-f004-49fe-b413-a126c8922189 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": "2021-12-14T09:45:01.420982+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-57741d79-f004-49fe-b413-a126c8922189 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": "2021-12-14T09:45:01.420982+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 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-89559a53-b473-4161-93ea-93afbce8e885 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": "2021-12-14T09:45:01.488080+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-89559a53-b473-4161-93ea-93afbce8e885 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": "2021-12-14T09:45:01.488080+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 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/3cc2a39f-a0d0-4252-a664-8b4af4c904ba Openstack-Request-Id: req-0c2ca2cb-1361-421f-a113-4a740354e177 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "created_at": "2021-12-14T09:45:01.573339+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "rel": "self"}, {"href": "http://localhost/volume/targets/3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "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/3cc2a39f-a0d0-4252-a664-8b4af4c904ba Openstack-Request-Id: req-0c2ca2cb-1361-421f-a113-4a740354e177 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "created_at": "2021-12-14T09:45:01.573339+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "rel": "self"}, {"href": "http://localhost/volume/targets/3cc2a39f-a0d0-4252-a664-8b4af4c904ba", "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-71e553e8-a830-49ab-b1c9-9dc676d4ad8c 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": "2021-12-14T09:45:01.635703+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-71e553e8-a830-49ab-b1c9-9dc676d4ad8c 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": "2021-12-14T09:45:01.635703+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-68065bc6-f570-49ca-b02a-0a734edb3088 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": "2021-12-14T09:45:01.737617+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"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.096418s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.076195s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00218_drivers_raid_logical_disk_properties_get_member [0.168605s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_connectors [0.102111s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_get_observer [0.084459s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_properties_get_admin [0.071426s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00274_owner_reader_can_get_targets [0.107137s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3fc8014b-e0a5-4e0a-ba22-0aa24c5e9bda 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": "2021-12-14T09:45:01.514728+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-3fc8014b-e0a5-4e0a-ba22-0aa24c5e9bda 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": "2021-12-14T09:45:01.514728+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-2109d013-3ba4-411a-8b3a-d9330fc2219b 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": "2021-12-14T09:45:01.604752+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-2109d013-3ba4-411a-8b3a-d9330fc2219b 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": "2021-12-14T09:45:01.604752+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-7849630d-9df8-4af9-97f8-05d672caf526 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": "2021-12-14T09:45:01.662231+00:00", "updated_at": "2021-12-14T09:45:01.695609+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-7849630d-9df8-4af9-97f8-05d672caf526 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": "2021-12-14T09:45:01.662231+00:00", "updated_at": "2021-12-14T09:45:01.695609+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 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-e7e97a47-0e1e-435e-8a73-c1b1bdd670fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e7e97a47-0e1e-435e-8a73-c1b1bdd670fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-24338358-e7a4-4d5a-b611-a80292ec909f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-24338358-e7a4-4d5a-b611-a80292ec909f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7f1f5c99-c108-4179-be23-671d02ed8eb5 X-Openstack-Ironic-Api-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.121682s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.117370s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5630ceb5-f6ba-4353-8e42-7e4b076a4c41 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-5630ceb5-f6ba-4353-8e42-7e4b076a4c41 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d93cb246-2883-4864-adf0-0567df28c4a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d93cb246-2883-4864-adf0-0567df28c4a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-062cad87-1566-496b-999e-7374e76ff72f 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-062cad87-1566-496b-999e-7374e76ff72f 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4e7bf0a2-fd25-4593-8ace-81d0238c3daa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4e7bf0a2-fd25-4593-8ace-81d0238c3daa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/drivers/fake-driverz {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c3b2b08d-a708-44e3-9c1b-53aace86f3dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c3b2b08d-a708-44e3-9c1b-53aace86f3dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e5579a89-0443-42ab-ae9f-035e3a269378 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e5579a89-0443-42ab-ae9f-035e3a269378 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d6e4e3b-ccdd-402f-b5e4-3d9df0f8ec54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0d6e4e3b-ccdd-402f-b5e4-3d9df0f8ec54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.134135s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_lesse_reader_can_get_targets [0.102754s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_properties_get_observer [0.151888s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.098530s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.088367s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00229_drivers_vendor_passthru_put_admin [0.086158s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.104224s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f400a28f-6d3a-4887-8435-20530eccd641 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f400a28f-6d3a-4887-8435-20530eccd641 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0ffaca24-dd44-4ced-b89d-4fd50467add5 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": "2021-12-14T09:45:01.681939+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-0ffaca24-dd44-4ced-b89d-4fd50467add5 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": "2021-12-14T09:45:01.681939+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 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-7bb1a8ed-1eb4-4422-8a8b-81c57ca7b638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7bb1a8ed-1eb4-4422-8a8b-81c57ca7b638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8a113356-6ea9-4f42-8d4a-f7d63e9a4e52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8a113356-6ea9-4f42-8d4a-f7d63e9a4e52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-315c5e41-43bf-4b65-8b60-9a8e42ec73eb 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-315c5e41-43bf-4b65-8b60-9a8e42ec73eb 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 get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b62f92d9-a76f-4a6b-9399-de99e6cbd9d4 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-b62f92d9-a76f-4a6b-9399-de99e6cbd9d4 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 delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_admin_can_delete_volume_target [0.112978s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_nodes_bios_get_admin [0.065038s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_lessee_member_cannot_delete_volume_target [0.085515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.096149s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_nodes_bios_get_observer [0.060255s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7f1f5c99-c108-4179-be23-671d02ed8eb5 X-Openstack-Ironic-Api-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-cf5a0e81-92eb-420b-8874-23d727b31a69 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": "2021-12-14T09:45:02.028571+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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf5a0e81-92eb-420b-8874-23d727b31a69 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": "2021-12-14T09:45:02.028571+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/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-b511e599-73cb-4537-aac0-4f86889a6f12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-b511e599-73cb-4537-aac0-4f86889a6f12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-72108789-1607-4279-aa16-7cf738a81df1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.099451s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_owner_reader_can_get_volume_connectors [0.073269s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.TestRBACProjectScoped.test_project_scoped_00293_lessee_reader_can_get_node_volume_connectors [0.069259s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_conductors_get_observer [0.153924s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_third_party_admin_cannot_get_node_volume_connectors [0.097636s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68065bc6-f570-49ca-b02a-0a734edb3088 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": "2021-12-14T09:45:01.737617+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 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-ed23cf60-227a-497e-815d-9e45ee929f16 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-ed23cf60-227a-497e-815d-9e45ee929f16 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-e82611ee-0254-4971-b75e-44d06034d161 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-e82611ee-0254-4971-b75e-44d06034d161 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/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28028597-9aed-453c-9350-5177cf650ac2 X-Openstack-Ironic-Api-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-28028597-9aed-453c-9350-5177cf650ac2 X-Openstack-Ironic-Api-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/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4701f0a-f556-4980-b947-83bf7ed742ad X-Openstack-Ironic-Api-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-a4701f0a-f556-4980-b947-83bf7ed742ad X-Openstack-Ironic-Api-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-3e48909d-dfd3-4b42-b4f4-b3c810fcc6ef X-Openstack-Ironic-Api-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-3e48909d-dfd3-4b42-b4f4-b3c810fcc6ef X-Openstack-Ironic-Api-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-e3e9a72c-3f55-4ef3-945e-5688f2646c3f 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": "2021-12-14T09:45:02.286218+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-e3e9a72c-3f55-4ef3-945e-5688f2646c3f 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": "2021-12-14T09:45:02.286218+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-531560f0-24e9-4938-a901-fc4ed12c620c 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": "2021-12-14T09:45:02.351683+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-531560f0-24e9-4938-a901-fc4ed12c620c 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": "2021-12-14T09:45:02.351683+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"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.084418s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_get_admin [0.142753s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.110679s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_conductors_hostname_get_admin [0.226275s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-72108789-1607-4279-aa16-7cf738a81df1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d62e0d9d-c05c-4d1b-ac6b-2f784d5c4efa 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": "2021-12-14T09:45:02.296336+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": "2021-12-14T09:45:02.318351+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": "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": "76a823eb-05e9-4ad4-a218-294898623792", "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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00021_owner_reader_can_get_detail [0.172864s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.130163s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.416884s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_lessee_reader_can_get_node_volume_targets [0.269939s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_conductors_hostname_get_member [0.165619s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.087906s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cc7e57bd-c448-4c87-9891-d659f62c76b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cc7e57bd-c448-4c87-9891-d659f62c76b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9c47d923-ad9f-4404-bec5-21e2cf890e15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9c47d923-ad9f-4404-bec5-21e2cf890e15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-2e276c25-6cb6-4d38-b226-8ae6d3c5b4ef 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-2e276c25-6cb6-4d38-b226-8ae6d3c5b4ef 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/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-ee842303-d4f2-4578-82f0-5afea58ba420 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-ee842303-d4f2-4578-82f0-5afea58ba420 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/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-670db6ec-1d6d-4ca9-a7cd-0cfaa13538ff X-Openstack-Ironic-Api-Maximum-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-670db6ec-1d6d-4ca9-a7cd-0cfaa13538ff X-Openstack-Ironic-Api-Maximum-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-de0d1a03-c589-424e-8a6a-c9bb30fc32e9 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-de0d1a03-c589-424e-8a6a-c9bb30fc32e9 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/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-85ed891d-fb83-4631-8b61-33df32723fb9 X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_00301_owner_reader_cannot_get_drivers_vendor_passthru [0.145955s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_nodes_allocation_get_admin [0.139007s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.244822s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49fce20e-6ef6-43c5-9171-12d48c51e40e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-49fce20e-6ef6-43c5-9171-12d48c51e40e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ba6f5175-76b9-4c46-9c47-e18cfa3bb7f2 X-Openstack-Ironic-Api-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-ba6f5175-76b9-4c46-9c47-e18cfa3bb7f2 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bdad82cd-82ba-4478-bf75-04074d432f96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-bdad82cd-82ba-4478-bf75-04074d432f96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-cce353d0-5bb6-4a0b-9b92-619fb0d6e399 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": "2021-12-14T09:45:02.321958+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-cce353d0-5bb6-4a0b-9b92-619fb0d6e399 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": "2021-12-14T09:45:02.321958+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-e3683341-0946-4f1f-b573-4a50bdc43f5e 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-e3683341-0946-4f1f-b573-4a50bdc43f5e 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-c6abd3ac-1c6d-428d-a5b3-335323639fe0 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": "2021-12-14T09:45:02.665540+00:00", "updated_at": "2021-12-14T09:45:02.666892+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-c6abd3ac-1c6d-428d-a5b3-335323639fe0 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": "2021-12-14T09:45:02.665540+00:00", "updated_at": "2021-12-14T09:45:02.666892+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/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f69a3e93-2ef8-4d31-91e3-0fa8aa4c4184 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f69a3e93-2ef8-4d31-91e3-0fa8aa4c4184 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/allocations GET: /v1/allocations {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_get_member [0.135389s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.182099s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_lessee_reader_can_get_allocations [0.213752s] ... ok 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-aaac67b3-3877-40b2-a279-48216bbf13d7 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": "2021-12-14T09:45:02.419658+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-aaac67b3-3877-40b2-a279-48216bbf13d7 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": "2021-12-14T09:45:02.419658+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/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c967a7bd-6bbd-4b36-8ff3-20d7b905a6b2 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": "f6be8b52-8a77-4417-b9c1-761097263844", "created_at": "2021-12-14T09:45:02.486694+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f6be8b52-8a77-4417-b9c1-761097263844", "rel": "self"}, {"href": "http://localhost/allocations/f6be8b52-8a77-4417-b9c1-761097263844", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c967a7bd-6bbd-4b36-8ff3-20d7b905a6b2 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": "f6be8b52-8a77-4417-b9c1-761097263844", "created_at": "2021-12-14T09:45:02.486694+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f6be8b52-8a77-4417-b9c1-761097263844", "rel": "self"}, {"href": "http://localhost/allocations/f6be8b52-8a77-4417-b9c1-761097263844", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/a42779c2-f797-40fe-bfa5-13790c30ce0d GET: /v1/allocations/a42779c2-f797-40fe-bfa5-13790c30ce0d {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a6492c6-fc9b-4873-a92d-70ed768db885 X-Openstack-Ironic-Api-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 a42779c2-f797-40fe-bfa5-13790c30ce0d could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a6492c6-fc9b-4873-a92d-70ed768db885 X-Openstack-Ironic-Api-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 a42779c2-f797-40fe-bfa5-13790c30ce0d could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/2d458915-f61f-4734-941c-408ae481171c DELETE: /v1/allocations/2d458915-f61f-4734-941c-408ae481171c GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8093f5a0-b9ea-4ae4-90f2-3be591f0b499 X-Openstack-Ironic-Api-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 2d458915-f61f-4734-941c-408ae481171c could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8093f5a0-b9ea-4ae4-90f2-3be591f0b499 X-Openstack-Ironic-Api-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 2d458915-f61f-4734-941c-408ae481171c could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f75221bb-9297-4560-b4a8-6e4a9b4c4952 DELETE: /v1/allocations/f75221bb-9297-4560-b4a8-6e4a9b4c4952 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-057f1424-a7e4-4901-bb52-a55964a300b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-057f1424-a7e4-4901-bb52-a55964a300b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-419cf967-9f02-4bcf-878f-348089b6b990 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9e266abc-5592-4ea4-a21f-814a75c53827", "created_at": "2021-12-14T09:45:02.952961+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9e266abc-5592-4ea4-a21f-814a75c53827", "rel": "self"}, {"href": "http://localhost/allocations/9e266abc-5592-4ea4-a21f-814a75c53827", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-419cf967-9f02-4bcf-878f-348089b6b990 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9e266abc-5592-4ea4-a21f-814a75c53827", "created_at": "2021-12-14T09:45:02.952961+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9e266abc-5592-4ea4-a21f-814a75c53827", "rel": "self"}, {"href": "http://localhost/allocations/9e266abc-5592-4ea4-a21f-814a75c53827", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.224390s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d62e0d9d-c05c-4d1b-ac6b-2f784d5c4efa 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": "2021-12-14T09:45:02.296336+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": "2021-12-14T09:45:02.318351+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": "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": "76a823eb-05e9-4ad4-a218-294898623792", "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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b86ef62-b3df-420b-91ed-9a091627c11c 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-6b86ef62-b3df-420b-91ed-9a091627c11c 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/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-1e8a2d1f-a058-46df-94c4-251c5832e949 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1e8a2d1f-a058-46df-94c4-251c5832e949 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8d22f06c-ee1f-42dc-831e-6ca28f6cf44e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00025_owner_member_can_patch_node_extra [0.215505s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_post_admin [0.161565s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_post_observer [0.116832s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_owner_reader_can_get_their_allocation [0.187985s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_post_member [0.147622s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_get_observer [0.127822s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.256849s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_admin_can_delete_their_allocation [0.175459s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00270_deploy_templates_get_admin [0.180330s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_detail_get_member [0.192353s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.098341s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.264079s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_owner_member_can_delete_their_allocation [0.270335s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-301f90a6-1815-4c9e-a971-67581ee4d2fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-301f90a6-1815-4c9e-a971-67581ee4d2fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/a1701c5f-3f7b-485f-bde9-7000dc864422 GET: /v1/allocations/a1701c5f-3f7b-485f-bde9-7000dc864422 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c278dc07-1422-40d0-8a14-fbf2b20f8eaa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a1701c5f-3f7b-485f-bde9-7000dc864422", "created_at": "2021-12-14T09:45:03.115888+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a1701c5f-3f7b-485f-bde9-7000dc864422", "rel": "self"}, {"href": "http://localhost/allocations/a1701c5f-3f7b-485f-bde9-7000dc864422", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c278dc07-1422-40d0-8a14-fbf2b20f8eaa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a1701c5f-3f7b-485f-bde9-7000dc864422", "created_at": "2021-12-14T09:45:03.115888+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a1701c5f-3f7b-485f-bde9-7000dc864422", "rel": "self"}, {"href": "http://localhost/allocations/a1701c5f-3f7b-485f-bde9-7000dc864422", "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: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/a8c9152c-a760-49ce-8fd6-fc7c0c69952b Openstack-Request-Id: req-66f0406a-6443-4653-80a0-306ce5d3baa6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "created_at": "2021-12-14T09:45:03.377971+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "rel": "self"}, {"href": "http://localhost/deploy_templates/a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "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/a8c9152c-a760-49ce-8fd6-fc7c0c69952b Openstack-Request-Id: req-66f0406a-6443-4653-80a0-306ce5d3baa6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "created_at": "2021-12-14T09:45:03.377971+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "rel": "self"}, {"href": "http://localhost/deploy_templates/a8c9152c-a760-49ce-8fd6-fc7c0c69952b", "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-070c3bc0-0643-41e1-8ded-5afe71f4e77f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-070c3bc0-0643-41e1-8ded-5afe71f4e77f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8ad577d3-c9f8-4999-bf89-5d33bc83dc49 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": "9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "rel": "self"}, {"href": "http://localhost/deploy_templates/9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ad577d3-c9f8-4999-bf89-5d33bc83dc49 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": "9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "rel": "self"}, {"href": "http://localhost/deploy_templates/9716610e-7dc6-4e96-89f9-4a0edfe91bc1", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-492a9b8d-8db9-40a3-8155-2d13e9d61ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-492a9b8d-8db9-40a3-8155-2d13e9d61ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/b3c37d3a-f870-45fa-a8ca-638651b0dd4e GET: /v1/deploy_templates/b3c37d3a-f870-45fa-a8ca-638651b0dd4e {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.068493s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.207439s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00274_deploy_templates_deploy_template_id_get_member [0.066372s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_owner_member_can_patch_allocation [0.140753s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.112822s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.239367s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.149110s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.117916s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.167128s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00048_lessee_admin_can_patch_node_instance_info [0.197383s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.074234s] ... ok DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8461af7b-a96b-447e-8769-10a29545f169 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8461af7b-a96b-447e-8769-10a29545f169 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d500c2ee-eb9f-49ec-b9fb-544c3fa14837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d500c2ee-eb9f-49ec-b9fb-544c3fa14837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9fb55801-a3a2-416d-ada1-aae1fb2cb737 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-9fb55801-a3a2-416d-ada1-aae1fb2cb737 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e3058902-3409-40a1-a432-2cc83499f2fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e3058902-3409-40a1-a432-2cc83499f2fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4384607-9eb8-4c7e-8fb1-8b3762a8a101 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b4384607-9eb8-4c7e-8fb1-8b3762a8a101 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f4240960-62a6-4aaa-8af6-4724f8574b57 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": "2021-12-14T09:45:04.014116+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-f4240960-62a6-4aaa-8af6-4724f8574b57 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": "2021-12-14T09:45:04.014116+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-336745a1-1381-4e20-acff-c2a6b030b313 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-336745a1-1381-4e20-acff-c2a6b030b313 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-819a0a00-8ba6-471a-8a50-129fa5412d38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.134364s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.073919s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00283_chassis_post_member [0.241171s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.236367s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.137755s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.122739s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00285_chassis_get_admin [0.188077s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.083389s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.064915s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-85ed891d-fb83-4631-8b61-33df32723fb9 X-Openstack-Ironic-Api-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/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cf770aa-e53a-45d3-9d48-dcebbf95434e 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": "f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "created_at": "2021-12-14T09:45:03.181791+00:00", "updated_at": null, "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/f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "rel": "self"}, {"href": "http://localhost/allocations/f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cf770aa-e53a-45d3-9d48-dcebbf95434e 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": "f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "created_at": "2021-12-14T09:45:03.181791+00:00", "updated_at": null, "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/f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "rel": "self"}, {"href": "http://localhost/allocations/f608cbd3-5f7f-492a-b712-5f354ed1e0c4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/allocations/69d9b625-7604-46da-971b-f2aa1381d314 GET: /v1/allocations/69d9b625-7604-46da-971b-f2aa1381d314 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51022271-d7dd-401d-a387-53408d835674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "69d9b625-7604-46da-971b-f2aa1381d314", "created_at": "2021-12-14T09:45:03.365751+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/69d9b625-7604-46da-971b-f2aa1381d314", "rel": "self"}, {"href": "http://localhost/allocations/69d9b625-7604-46da-971b-f2aa1381d314", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} resource_class CUSTOM_TEST ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51022271-d7dd-401d-a387-53408d835674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "69d9b625-7604-46da-971b-f2aa1381d314", "created_at": "2021-12-14T09:45:03.365751+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/69d9b625-7604-46da-971b-f2aa1381d314", "rel": "self"}, {"href": "http://localhost/allocations/69d9b625-7604-46da-971b-f2aa1381d314", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path delete /v1/allocations/648c11dd-bbe6-441a-b6ab-8f03f7052fc4 DELETE: /v1/allocations/648c11dd-bbe6-441a-b6ab-8f03f7052fc4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3519329a-5c46-4f0d-afd4-5772d9cb142e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3519329a-5c46-4f0d-afd4-5772d9cb142e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/d75a7e65-a88a-4573-b275-4e2b945dfc88 DELETE: /v1/allocations/d75a7e65-a88a-4573-b275-4e2b945dfc88 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c79384c-44b3-4b0c-b06d-e2391ad7172d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8c79384c-44b3-4b0c-b06d-e2391ad7172d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd PATCH: /v1/allocations/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-952003d0-405f-4eb2-8627-63fe0be045b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "created_at": "2021-12-14T09:45:03.934821+00:00", "updated_at": "2021-12-14T09:45:04.003906+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/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "rel": "self"}, {"href": "http://localhost/allocations/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-952003d0-405f-4eb2-8627-63fe0be045b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "created_at": "2021-12-14T09:45:03.934821+00:00", "updated_at": "2021-12-14T09:45:04.003906+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/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "rel": "self"}, {"href": "http://localhost/allocations/b5d9edd2-48ee-452e-b8c4-c21d4225ecdd", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28ee998c-c45d-4c13-9a3f-39a9e10045ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": []} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_third_party_admin_can_get_allocations [0.707066s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8d22f06c-ee1f-42dc-831e-6ca28f6cf44e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0cfb4ead-350b-4ced-976d-654f9bde5e2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0cfb4ead-350b-4ced-976d-654f9bde5e2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-23c208f0-e827-41b0-a755-3c88b65ff42e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-23c208f0-e827-41b0-a755-3c88b65ff42e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-43fd5bbe-50ff-4046-8289-3b63715e6b30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-43fd5bbe-50ff-4046-8289-3b63715e6b30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e1a4a4aa-2122-4180-bcda-67f77d50b3bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e1a4a4aa-2122-4180-bcda-67f77d50b3bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f65e124e-9301-42ab-b3f4-c8966186f1eb X-Openstack-Ironic-Api-Maximum-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-f65e124e-9301-42ab-b3f4-c8966186f1eb X-Openstack-Ironic-Api-Maximum-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/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-69b3a3b3-cda6-4586-8709-49bcd6ac4c39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-69b3a3b3-cda6-4586-8709-49bcd6ac4c39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34140cae-b57c-4aad-a055-c9a968d8e85d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-34140cae-b57c-4aad-a055-c9a968d8e85d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fa64a79e-7b0a-421f-81ea-5c5b9a7b0374 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00060_owner_admin_can_set_maintenance [0.199769s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_get_member [0.214111s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_admin_can_create_allocation_with_their_uuid [0.235649s] ... ok ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-819a0a00-8ba6-471a-8a50-129fa5412d38 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/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5c7b8aca-4d94-4c01-b431-c894e18c69af X-Openstack-Ironic-Api-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-5c7b8aca-4d94-4c01-b431-c894e18c69af X-Openstack-Ironic-Api-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-bcba9b5b-873a-42e7-814e-860dc9186870 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": null, "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-bcba9b5b-873a-42e7-814e-860dc9186870 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": null, "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-bf0737d4-6537-4a30-b4ac-0ea7f224bd6a 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": null, "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-bf0737d4-6537-4a30-b4ac-0ea7f224bd6a 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": null, "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-b4cf0267-ab66-475c-a6e0-4818237b422d 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": null, "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-b4cf0267-ab66-475c-a6e0-4818237b422d 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": null, "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/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00019_owner_reader_can_get_restricted_fields [0.098160s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.291652s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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_00325_third_party_admin_cannot_read_an_allocation [0.127099s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.200924s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43983cc3-4074-479c-8104-e37db82cbabb 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": "2021-12-14T09:45:04.850528+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': '******'} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43983cc3-4074-479c-8104-e37db82cbabb 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": "2021-12-14T09:45:04.850528+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 {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00022_lessee_reader_can_get_detail [0.165162s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.092781s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00336_third_party_admin_cannot_get_deploy_templates [0.120319s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00337_third_party_admin_cannot_post_deploy_template [0.072360s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2bed04e6-0f97-42ee-a0a8-8e9672359b1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "created_at": "2021-12-14T09:45:03.843625+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "rel": "self"}, {"href": "http://localhost/deploy_templates/b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "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-2bed04e6-0f97-42ee-a0a8-8e9672359b1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "created_at": "2021-12-14T09:45:03.843625+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "rel": "self"}, {"href": "http://localhost/deploy_templates/b3c37d3a-f870-45fa-a8ca-638651b0dd4e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/deploy_templates/9bfc619f-7b23-40d7-8549-d6272dd2296a GET: /v1/deploy_templates/9bfc619f-7b23-40d7-8549-d6272dd2296a {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a1cbc31a-d25c-49d5-b407-cfaba1f0cdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a1cbc31a-d25c-49d5-b407-cfaba1f0cdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/fac61df8-45cc-4a23-ba22-615fbd44abe4 DELETE: /v1/deploy_templates/fac61df8-45cc-4a23-ba22-615fbd44abe4 GOT:Response: 204 No Content Openstack-Request-Id: req-d498ff08-ce90-46f1-afb1-27212d4a1105 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-d498ff08-ce90-46f1-afb1-27212d4a1105 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/deploy_templates/bc04a466-ef61-4439-8098-8e5c60dadf70 DELETE: /v1/deploy_templates/bc04a466-ef61-4439-8098-8e5c60dadf70 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6292bf5e-1b9e-47da-a1c6-c721b63baafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-6292bf5e-1b9e-47da-a1c6-c721b63baafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ae2272e-1c8c-4967-8c6a-b7b9403e654e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2ae2272e-1c8c-4967-8c6a-b7b9403e654e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2f507bc4-5312-4e1c-80b8-5ae6c7e7f1df 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-2f507bc4-5312-4e1c-80b8-5ae6c7e7f1df 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 GET: /v1/chassis {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-10a39227-a24a-4b1f-883c-d4eaddf9949b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-10a39227-a24a-4b1f-883c-d4eaddf9949b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70fadd8f-bfab-4953-8bca-af69423336d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-70fadd8f-bfab-4953-8bca-af69423336d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.178955s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.293315s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00341_third_party_admin_cannot_create_chassis [0.136518s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c76a51ae-c88c-4d8f-96d1-8140ff1c3967 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": "2021-12-14T09:45:04.996387+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": {"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"}, "instance_uuid": null, "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": "5937c56b-0a0a-4b69-82e6-c94cbc6899cc", "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-c76a51ae-c88c-4d8f-96d1-8140ff1c3967 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": "2021-12-14T09:45:04.996387+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": {"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"}, "instance_uuid": null, "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": "5937c56b-0a0a-4b69-82e6-c94cbc6899cc", "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': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce92cb20-aafb-4f2e-a4b3-078833e147c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ce92cb20-aafb-4f2e-a4b3-078833e147c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-18bb2040-899e-4f33-bc5b-969a802492c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.147943s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.136292s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00300_node_history_get_admin [0.216549s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00346_node_history_get_entry_member [0.128627s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.108348s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.236197s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00302_node_history_get_observer [0.133992s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.115905s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28ee998c-c45d-4c13-9a3f-39a9e10045ba 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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d6e2758-6b60-4773-ab78-c179a61be43d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0d6e2758-6b60-4773-ab78-c179a61be43d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/259e2484-3147-4bf5-b513-000209d3648a GET: /v1/allocations/259e2484-3147-4bf5-b513-000209d3648a {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-927396da-191a-4e35-b2ba-88c59b948016 X-Openstack-Ironic-Api-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 259e2484-3147-4bf5-b513-000209d3648a could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-927396da-191a-4e35-b2ba-88c59b948016 X-Openstack-Ironic-Api-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 259e2484-3147-4bf5-b513-000209d3648a 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-02056821-7cb9-422e-a4d2-583183610cf3 X-Openstack-Ironic-Api-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-02056821-7cb9-422e-a4d2-583183610cf3 X-Openstack-Ironic-Api-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/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-d3505e4a-3b69-4077-a38a-15094ebdb219 X-Openstack-Ironic-Api-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-d3505e4a-3b69-4077-a38a-15094ebdb219 X-Openstack-Ironic-Api-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/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-640a80b4-d3e6-4a32-b082-e88e368c60f6 X-Openstack-Ironic-Api-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-640a80b4-d3e6-4a32-b082-e88e368c60f6 X-Openstack-Ironic-Api-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/7c39a02a-568a-4825-8bf0-1e9fc35637b6 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7c39a02a-568a-4825-8bf0-1e9fc35637b6 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5be8ea6f-cd12-4965-be85-cf7aa5ec7e6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7c39a02a-568a-4825-8bf0-1e9fc35637b6", "created_at": "2021-12-14T09:45:05.499014+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/7c39a02a-568a-4825-8bf0-1e9fc35637b6", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5be8ea6f-cd12-4965-be85-cf7aa5ec7e6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7c39a02a-568a-4825-8bf0-1e9fc35637b6", "created_at": "2021-12-14T09:45:05.499014+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/7c39a02a-568a-4825-8bf0-1e9fc35637b6", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/da1724e9-530a-4061-8189-28b547c47a4b GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/da1724e9-530a-4061-8189-28b547c47a4b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d39173-2790-41ee-83b0-835ac3bba7fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "da1724e9-530a-4061-8189-28b547c47a4b", "created_at": "2021-12-14T09:45:05.595933+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/da1724e9-530a-4061-8189-28b547c47a4b", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00347_node_history_get_entry_reader [0.156095s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.146125s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00304_node_history_get_entry_member [0.202975s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.257501s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00351_lessee_node_history_get_entry_admin [0.211013s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.088927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00352_lessee_history_get_entry_member [0.073849s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.194869s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.137906s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.126986s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.092998s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.188821s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.073868s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.107485s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d44b8875-616e-4daa-896f-fdb8de990c77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d44b8875-616e-4daa-896f-fdb8de990c77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ae93662f-8c6f-4222-9a80-767dc421fc8f 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": "f4473076-d657-41b5-ac8e-0331e47d2e58", "created_at": "2021-12-14T09:45:05.430867+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f4473076-d657-41b5-ac8e-0331e47d2e58", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae93662f-8c6f-4222-9a80-767dc421fc8f 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": "f4473076-d657-41b5-ac8e-0331e47d2e58", "created_at": "2021-12-14T09:45:05.430867+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f4473076-d657-41b5-ac8e-0331e47d2e58", "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-808ecd68-04aa-46ae-a014-7eefa6e6cea6 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": "c3755948-ef84-4a3e-85b4-3432bca1e557", "created_at": "2021-12-14T09:45:05.606564+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c3755948-ef84-4a3e-85b4-3432bca1e557", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-808ecd68-04aa-46ae-a014-7eefa6e6cea6 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": "c3755948-ef84-4a3e-85b4-3432bca1e557", "created_at": "2021-12-14T09:45:05.606564+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c3755948-ef84-4a3e-85b4-3432bca1e557", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7eb78ba5-ab36-4bed-8db6-eea171c08e22 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7eb78ba5-ab36-4bed-8db6-eea171c08e22 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a6568644-fd4a-4e4b-bbe4-2ab43c896f0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-a6568644-fd4a-4e4b-bbe4-2ab43c896f0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-42527772-b28c-4469-96c6-e067053298a2 X-Openstack-Ironic-Api-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-42527772-b28c-4469-96c6-e067053298a2 X-Openstack-Ironic-Api-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-2ffda418-d10f-4139-8b65-cf615b74cf0c 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": null, "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-2ffda418-d10f-4139-8b65-cf615b74cf0c 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": null, "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/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.098827s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.421483s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.096427s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.202754s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4bcc9373-08bf-49cb-bf8d-47ad7f7da833 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": "2021-12-14T09:45:06.298178+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": {"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"}, "instance_uuid": null, "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": "96d6098e-8b78-40c1-9db7-b851e23053cd", "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-4bcc9373-08bf-49cb-bf8d-47ad7f7da833 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": "2021-12-14T09:45:06.298178+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": {"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"}, "instance_uuid": null, "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": "96d6098e-8b78-40c1-9db7-b851e23053cd", "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/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.121234s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.081888s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.122619s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.090223s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.140730s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-18bb2040-899e-4f33-bc5b-969a802492c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/protected', 'value': True}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-59bf892d-7706-4f71-9659-bcac28d9e9db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-59bf892d-7706-4f71-9659-bcac28d9e9db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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': '/driver_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d18345c-7b34-4b3d-bf69-54194a855b3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d18345c-7b34-4b3d-bf69-54194a855b3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/name', 'value': 'meow-node-1'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed214078-3455-4d7c-ba3b-eb686e4ce424 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ed214078-3455-4d7c-ba3b-eb686e4ce424 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-a94bb1a8-de32-4c46-af9d-249f2b0f95e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a94bb1a8-de32-4c46-af9d-249f2b0f95e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c7632afb-efb4-425f-a8d5-bd0c1eaa745f X-Openstack-Ironic-Api-Maximum-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-c7632afb-efb4-425f-a8d5-bd0c1eaa745f X-Openstack-Ironic-Api-Maximum-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 {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6037725f-9f0b-4344-8843-398da0eb6c7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-6037725f-9f0b-4344-8843-398da0eb6c7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7b66d1f8-0e5c-4b4b-93c6-ff986f2d5a12 X-Openstack-Ironic-Api-Maximum-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-7b66d1f8-0e5c-4b4b-93c6-ff986f2d5a12 X-Openstack-Ironic-Api-Maximum-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-20ccef86-4728-47a6-af6c-2b72a3dfe9d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.122252s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa64a79e-7b0a-421f-81ea-5c5b9a7b0374 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-af161313-8942-4f4c-92ab-4dd02db817e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-af161313-8942-4f4c-92ab-4dd02db817e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4aea9149-2419-4086-83b0-f7053fc6bad0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4aea9149-2419-4086-83b0-f7053fc6bad0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a92ac267-a433-4fad-8072-7a30a84c3a6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a92ac267-a433-4fad-8072-7a30a84c3a6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-fdef8e31-6ea4-4801-a8cf-93b1ac3c0ccd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fdef8e31-6ea4-4801-a8cf-93b1ac3c0ccd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 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-f5e3ccd7-c6ba-4470-ad9c-8a24703e2619 X-Openstack-Ironic-Api-Maximum-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-f5e3ccd7-c6ba-4470-ad9c-8a24703e2619 X-Openstack-Ironic-Api-Maximum-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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34ab7225-becd-42ad-837b-c10ff3e2cee2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-34ab7225-becd-42ad-837b-c10ff3e2cee2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b81cdb34-d0c8-4659-a397-d74064eac33f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b81cdb34-d0c8-4659-a397-d74064eac33f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-bfd23098-de99-41fb-b5cb-1ecf28a5c593 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00082_owner_admin_can_get_supported_boot_devices [0.203156s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.114622s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.124000s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.082253s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-087bb5cd-f295-4249-8092-420cf6f6e35b 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": "2021-12-14T09:45:06.392174+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": {"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"}, "instance_uuid": null, "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": "39b91c87-5f69-424b-bbc7-30d90024b5cb", "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. **'} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-087bb5cd-f295-4249-8092-420cf6f6e35b 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": "2021-12-14T09:45:06.392174+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": {"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"}, "instance_uuid": null, "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": "39b91c87-5f69-424b-bbc7-30d90024b5cb", "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-89ab9447-0408-4cac-8546-e4f2a36413ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-89ab9447-0408-4cac-8546-e4f2a36413ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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': '/lessee', 'value': '1234'}] {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.124725s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.071836s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_owner_reader_cannot_put_boot_mode_state_change [0.167697s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.104650s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.085560s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.105116s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.103851s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.105279s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_lessee_reader_cannot_put_boot_mode_state_change [0.190332s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.087953s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00047_owner_reader_can_patch_node_instance_info [0.122731s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.078257s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d39173-2790-41ee-83b0-835ac3bba7fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "da1724e9-530a-4061-8189-28b547c47a4b", "created_at": "2021-12-14T09:45:05.595933+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/da1724e9-530a-4061-8189-28b547c47a4b", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf688caf-d08c-4780-abee-637e88dc5c80 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf688caf-d08c-4780-abee-637e88dc5c80 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9990bf2f-9067-4413-ad1b-febbcd52a667 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-9990bf2f-9067-4413-ad1b-febbcd52a667 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/99586838-58de-442a-9b82-a8f9e9ee47ea GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/99586838-58de-442a-9b82-a8f9e9ee47ea {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a8b2a113-3e16-4e4a-a8ae-d1ca16745ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-a8b2a113-3e16-4e4a-a8ae-d1ca16745ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-137c5b4c-6861-4bcb-8083-f40e6909d972 X-Openstack-Ironic-Api-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 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-42677a85-dca0-44a8-8d8e-c98b0f1f7474 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3edd5348-88a1-4d71-ace5-d01c3c7b991c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3713dc19-f60b-479b-b369-9b88cc382f94 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5404adf0-d951-4011-bea2-ed07ab668cb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4892cf15-e603-4532-a119-0438e86b2dbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ff81f0f3-da07-4cc3-a94d-9375b69f0c64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-71287049-2da1-4085-9d8d-2a0b7cddde24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e14094ee-adf0-4cb1-a766-001505094b98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.117620s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_admin_can_change_provision_state [0.198181s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00049_lessee_member_cannot_patch_node_instance_info [0.104849s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.082742s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.275575s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00081_third_party_admin_cannot_get_boot_device [0.081018s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.102999s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.071146s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_lessee_admin_can_change_provision_state [0.180976s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-20ccef86-4728-47a6-af6c-2b72a3dfe9d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/maintenance DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7822b9dd-db36-4c2a-8955-9d35499e015c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7822b9dd-db36-4c2a-8955-9d35499e015c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4581623d-2fdb-47da-9702-9777e15fb653 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-4581623d-2fdb-47da-9702-9777e15fb653 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-bb6fffaa-d590-480a-989a-3a33022a935f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-bb6fffaa-d590-480a-989a-3a33022a935f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e71e52f7-7efe-4554-a764-a2250664028a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e71e52f7-7efe-4554-a764-a2250664028a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-12fc35ae-196d-45ac-a74b-ae9499ad1c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-12fc35ae-196d-45ac-a74b-ae9499ad1c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eebead1e-731e-4e31-8e85-e9ce49be7bdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-eebead1e-731e-4e31-8e85-e9ce49be7bdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0c006b43-f517-4d03-8e58-3ee245a0e405 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-0c006b43-f517-4d03-8e58-3ee245a0e405 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6573fb08-1ad3-4cf4-9cc6-842def28310d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.113717s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_raid_put_member [0.097078s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.176659s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_lessee_member_cannot_change_provision_state [0.117170s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.129767s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_states_console_get_member [0.098802s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_states_console_put_observer [0.075846s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-845f9dd2-4fd8-4333-a998-e3c290ce971d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-845f9dd2-4fd8-4333-a998-e3c290ce971d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7364dda5-34b6-4339-82cd-9e90c6a47656 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-7364dda5-34b6-4339-82cd-9e90c6a47656 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/properties', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd4695c2-85cf-42b5-bec5-12d08fc751cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fd4695c2-85cf-42b5-bec5-12d08fc751cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-5934b10e-25d2-4ae8-87f9-39c5e4793bce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5934b10e-25d2-4ae8-87f9-39c5e4793bce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b807f5b-2ac4-4a59-bd01-4172a9694181 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1b807f5b-2ac4-4a59-bd01-4172a9694181 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-867d5c6b-48fd-4472-b4e5-f7aa36a64e2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-867d5c6b-48fd-4472-b4e5-f7aa36a64e2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-220a32a9-f9e6-46ac-b4f5-cad8a8c69028 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-220a32a9-f9e6-46ac-b4f5-cad8a8c69028 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-f5631d4e-0ada-4869-b36e-44c96844db00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f5631d4e-0ada-4869-b36e-44c96844db00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.107003s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.144319s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.107394s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.076652s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_third_party_admin_cannot_change_provision_state [0.184293s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.070438s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.098093s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.097097s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_admin_cannot_set_raid_config [0.180224s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.158054s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00094_owner_member_can_put_power_state_change [0.266431s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.076464s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.146648s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_owner_member_can_put_secure_boot_state_change [0.139530s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_put_observer [0.083304s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_delete_observer [0.064266s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_lessee_reader_cannot_put_secure_boot_state_change [0.089270s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bfd23098-de99-41fb-b5cb-1ecf28a5c593 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a53a648e-a538-467e-9a01-be268003767c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a53a648e-a538-467e-9a01-be268003767c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6f2e669e-30d1-454c-ab9f-771bee195ab5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6f2e669e-30d1-454c-ab9f-771bee195ab5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-b883dddd-db94-4c37-9c3b-89c74d4cec53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b883dddd-db94-4c37-9c3b-89c74d4cec53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1f0a7ef9-1dc7-4757-bba1-cec8d5903398 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1f0a7ef9-1dc7-4757-bba1-cec8d5903398 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b936dd85-99b9-47a4-9561-477985d0b53e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b936dd85-99b9-47a4-9561-477985d0b53e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-9430e62f-de8a-4859-b971-cd64e2ebf3d7 X-Openstack-Ironic-Api-Maximum-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-9430e62f-de8a-4859-b971-cd64e2ebf3d7 X-Openstack-Ironic-Api-Maximum-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/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-8f02c0f1-9ee6-4861-8c3c-593252c099e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-8f02c0f1-9ee6-4861-8c3c-593252c099e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-7821d490-574f-4008-9615-b3e7857d72d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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_00123_owner_admin_can_get_console [0.343865s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_third_party_admin_cannot_put_secure_boot_state_change [0.189769s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.213653s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_lessee_member_cannot_get_console [0.237699s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_owner_member_can_change_provision_state [0.129964s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.137612s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.581988s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_owner_admin_can_set_console [0.169449s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9abd6031-e5e3-45aa-a6d7-813d2c637859 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d083b5a5-e782-4645-898d-e92d979620f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f01324be-6044-434a-9301-746ea3c7eafd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0f9c1cd9-c243-4e47-9e78-7800734a7064 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-56002d9d-457a-472a-9a9a-cde3a80675a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-52eb4c99-4368-48ce-8d37-c8bb276dc43e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e9b30ef9-5e0f-43e1-afed-d76090349930 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b44b9b74-e841-48ac-9fc3-8cd86f1d0a86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b81dc444-10f1-43da-9b5d-451ace08b5dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-dbaee984-b763-401b-a309-8248bc4407b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-663ec327-7b06-45ff-8d66-36be549a6110 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-53a8ae67-c058-4a76-ac02-f2461c77d043 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b5618286-2f05-48a3-8d89-e3765922501b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3e4fe586-3bdc-4c0f-a78c-4b1eb5157c62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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_rbac_legacy_00097_nodes_vifs_get_admin [0.161985s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6573fb08-1ad3-4cf4-9cc6-842def28310d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-555b0727-17d6-4087-b124-a3dec5b27b5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-555b0727-17d6-4087-b124-a3dec5b27b5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-03ebe662-7e2c-4bdc-abb6-24c404b1af06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-03ebe662-7e2c-4bdc-abb6-24c404b1af06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a9c6127d-7f17-4b95-a03b-735887082f38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a9c6127d-7f17-4b95-a03b-735887082f38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78aaec43-dfa5-4837-9325-2bbdbded1865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-78aaec43-dfa5-4837-9325-2bbdbded1865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e25ea470-f55a-4a06-9449-2c2dcf7f8bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e25ea470-f55a-4a06-9449-2c2dcf7f8bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-e89a6da6-0bc6-46e5-964d-b1c15c2bef7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-e89a6da6-0bc6-46e5-964d-b1c15c2bef7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-6138c81f-762d-4833-8002-3574e9a29768 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-6138c81f-762d-4833-8002-3574e9a29768 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-2fccef67-e5e6-4ec1-88b5-08cd95daef71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_admin_can_set_raid_config [0.192428s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.165986s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_admin_cannot_get_console [0.106384s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.195799s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_lessee_member_cannot_set_console [0.292455s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_owner_member_can_get_console [0.155516s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.091238s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_put_boot_mode_state_change [0.232045s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.073765s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_third_party_admin_cannot_get_console [0.136925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.090690s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_owner_member_cannot_get_vendor_passthru_methods [0.200718s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.070578s] ... ok 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-10ae398c-f927-4811-b1b3-8cb5a828294d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-10ae398c-f927-4811-b1b3-8cb5a828294d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-02a42cb8-fb22-40d0-a21a-72fbd6beece6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-02a42cb8-fb22-40d0-a21a-72fbd6beece6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-198c7de6-f4c0-46e2-a8b6-eee03817ab26 X-Openstack-Ironic-Api-Maximum-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-198c7de6-f4c0-46e2-a8b6-eee03817ab26 X-Openstack-Ironic-Api-Maximum-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/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-179841ae-bae5-4b5a-926d-034ceee23678 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-179841ae-bae5-4b5a-926d-034ceee23678 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/states GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-393c365e-ae96-4a05-a3d8-db346447ae10 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-393c365e-ae96-4a05-a3d8-db346447ae10 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-07381684-65be-4881-81b4-18e4f2788956 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-07381684-65be-4881-81b4-18e4f2788956 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f3c87bb6-8a7a-4303-93ba-6e069c8d25fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f3c87bb6-8a7a-4303-93ba-6e069c8d25fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-802fcdd4-e664-4512-ab09-67dd856f84db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-802fcdd4-e664-4512-ab09-67dd856f84db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_lessee_admin_can_put_boot_mode_state_change [0.221083s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00134_owner_admin_cannot_get_vendor_passthru_methods [0.121671s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_lessee_member_cannot_get_vendor_passthru [0.174345s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_owner_reader_cannot_get_vendor_passthru_methods [0.084021s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.118387s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_owner_member_can_put_boot_mode_state_change [0.197903s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_lessee_member_cannot_get_vendor_passthru_methods [0.101783s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_owner_admin_cannot_put_vendor_passthru [0.124470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.096342s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_get_admin [0.069845s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_reader_cannot_put_vendor_passthru [0.082848s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00141_owner_member_cannot_get_vendor_passthru [0.090164s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_admin_can_put_secure_boot_state_change [0.133242s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_ports_port_id_patch_member [0.081770s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_ports_port_id_delete_admin [0.083012s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_admin_can_put_secure_boot_state_change [0.195414s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_nodes_ports_get_admin [0.079654s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2fccef67-e5e6-4ec1-88b5-08cd95daef71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a1b96bb8-d5d2-4d13-8230-8932bfd5e3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a1b96bb8-d5d2-4d13-8230-8932bfd5e3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d99ac52-7ac4-4573-9494-d1df697c736e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1d99ac52-7ac4-4573-9494-d1df697c736e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-f2f1156e-156f-43a7-8f6c-b38385d006d3 X-Openstack-Ironic-Api-Maximum-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-f2f1156e-156f-43a7-8f6c-b38385d006d3 X-Openstack-Ironic-Api-Maximum-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/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-2d246b66-d20a-4003-aef3-0a182a30f5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2d246b66-d20a-4003-aef3-0a182a30f5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dfe52844-486b-4d8c-9ae0-3968f53bb11f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dfe52844-486b-4d8c-9ae0-3968f53bb11f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b03b331d-92e5-4761-aa5f-a8b0aa75b61e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b03b331d-92e5-4761-aa5f-a8b0aa75b61e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1f4d100a-adf2-4cce-bc5c-27638a259db4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1f4d100a-adf2-4cce-bc5c-27638a259db4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-020a9788-1e1d-4054-8f63-77697cf1fd3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_owner_reader_cannot_get_vendor_passthru [0.108467s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_member_cannot_put_vendor_passthru [0.099028s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7821d490-574f-4008-9615-b3e7857d72d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f336828f-0bd4-436f-82b1-49349a9d864d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f336828f-0bd4-436f-82b1-49349a9d864d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-58457c7d-25ad-4c5a-bef4-1d6579a7cae7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-58457c7d-25ad-4c5a-bef4-1d6579a7cae7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-222ca55d-cad5-492d-9432-69b1daae3057 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-222ca55d-cad5-492d-9432-69b1daae3057 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-3dc299d2-f6fe-4ec1-a490-73c78d763cec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3dc299d2-f6fe-4ec1-a490-73c78d763cec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6061439e-6968-4e19-94a7-0fa523e9440d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6061439e-6968-4e19-94a7-0fa523e9440d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fcfbfb5e-a16e-4bd9-af9c-d22374741b6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fcfbfb5e-a16e-4bd9-af9c-d22374741b6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4f2a3502-d765-4f09-b36f-e7d233f01230 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4f2a3502-d765-4f09-b36f-e7d233f01230 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c37b91d5-8945-4c29-ab81-6a782236e34c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_cannot_delete_vendor_passthru [0.192252s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_vendor_passthru [0.110002s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.097183s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_lessee_member_can_put_secure_boot_state_change [0.114141s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_owner_reader_cannot_delete_vendor_passthru [0.077845s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_reader_get_traits [0.182062s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_portgroups_ports_get_member [0.101033s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_admin_cannot_delete_vendor_passthru [0.087248s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_owner_reader_cannot_put_secure_boot_state_change [0.130882s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_owner_admin_can_put_traits [0.095209s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.104012s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_lessee_member_cannot_delete_vendor_passthru [0.117261s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_lessee_member_cannot_set_raid_config [0.174658s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_lessee_member_cannot_put_traits [0.182976s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b5630b99-ab4b-4d62-9790-6bc560158bbc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5a5fc55d-8151-4b59-9897-ad92735d3d51 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79ce2312-549a-4018-ae78-307091e4035b X-Openstack-Ironic-Api-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-5a5f2a29-133b-4c03-80b7-ff82aa3ac536 X-Openstack-Ironic-Api-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-4c40017e-be56-4bc0-bf05-597af2bc4028 X-Openstack-Ironic-Api-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-e93d0843-da3a-4743-9c0a-af3f39492a1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9aa115c3-306f-4c04-87c4-eec7f6585002 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f5572d5c-8f66-4103-9afd-b17fa9ff4096 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d041eb3e-f329-4db9-835f-c1e3421095f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-fbccb61d-66fd-4bf8-958c-d2f3ec7a78ae X-Openstack-Ironic-Api-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-5a74616a-5e45-476f-a4ee-91eb17d5cf59 X-Openstack-Ironic-Api-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-383f9455-65c6-4e97-b4cc-fa4a7163afa6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b294765b-97e2-4e11-a285-f2684575079e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8bafaffe-b9d5-445f-8f1e-6669c9669c58 X-Openstack-Ironic-Api-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-6ee3259b-364f-4c66-9b0b-04c7ddbe25fb X-Openstack-Ironic-Api-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.154666s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_lessee_reader_cannot_delete_vendor_passthru [0.134358s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_third_party_admin_cannot_delete_traits [0.139649s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.127704s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_third_party_admin_cannot_get_traits [0.115368s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_third_party_admin_cannot_set_raid_config [0.241036s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.071229s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_third_party_admin_cannot_get_vifs [0.123274s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_targets_post_observer [0.071867s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_member_cannot_put_traits [0.165888s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.067905s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_lessee_admin_can_post_vifs [0.156034s] ... ok 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-727c7483-049a-4cf2-8fb5-a676ba8e4324 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-727c7483-049a-4cf2-8fb5-a676ba8e4324 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9fe68558-c0f2-4d4e-b2f8-c42d9e801b06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9fe68558-c0f2-4d4e-b2f8-c42d9e801b06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bb395509-55c2-4a85-9d69-ab4283f54e0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bb395509-55c2-4a85-9d69-ab4283f54e0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e7eeeefd-567b-4914-a596-4430b8055843 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e7eeeefd-567b-4914-a596-4430b8055843 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-41b01a58-ae7f-44fd-af59-26aa87ebc7a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-41b01a58-ae7f-44fd-af59-26aa87ebc7a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-49e6e675-1fa5-4f75-b619-2ad1bf4ed2b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-49e6e675-1fa5-4f75-b619-2ad1bf4ed2b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-014ff0a6-58d7-4ddc-9c38-e33c18246951 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-014ff0a6-58d7-4ddc-9c38-e33c18246951 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-9cc4a52b-f50d-4f42-80a3-23ccd62d3a2e X-Openstack-Ironic-Api-Maximum-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-9cc4a52b-f50d-4f42-80a3-23ccd62d3a2e X-Openstack-Ironic-Api-Maximum-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.TestRBACScoped.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.129525s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00132_owner_member_can_set_console [0.203800s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_admin_cannot_get_vendor_passthru_methods [0.144046s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.112185s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00188_lessee_member_cannot_post_vifs [0.230722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_lessee_reader_cannot_get_vendor_passthru_methods [0.133417s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_get_observer [0.161049s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-020a9788-1e1d-4054-8f63-77697cf1fd3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5cc4a208-6a59-4e33-9262-44b0eb0b2d12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5cc4a208-6a59-4e33-9262-44b0eb0b2d12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6e758ec7-f1f9-44f0-9ef2-d91eed0c70a4 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-6e758ec7-f1f9-44f0-9ef2-d91eed0c70a4 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-ebf05b4f-1d07-4f87-9c82-7f7bb5375102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ebf05b4f-1d07-4f87-9c82-7f7bb5375102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83b20361-111c-4764-a76b-7d911185280f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-83b20361-111c-4764-a76b-7d911185280f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-6031f475-7d16-4982-9fe6-a833d394aa20 X-Openstack-Ironic-Api-Maximum-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-6031f475-7d16-4982-9fe6-a833d394aa20 X-Openstack-Ironic-Api-Maximum-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/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-709284b3-9e1b-43b9-8ab1-69857e2bbd57 X-Openstack-Ironic-Api-Maximum-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-709284b3-9e1b-43b9-8ab1-69857e2bbd57 X-Openstack-Ironic-Api-Maximum-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/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-3a1e04f8-dac8-4633-ac05-362679af0f0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3a1e04f8-dac8-4633-ac05-362679af0f0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06f05b87-a515-4383-9f39-5c751598f641 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-06f05b87-a515-4383-9f39-5c751598f641 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00190_lessee_reader_cannot_post_vifs [0.098394s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_admin_cannot_get_vendor_passthru [0.219509s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c37b91d5-8945-4c29-ab81-6a782236e34c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0a82e020-1931-415e-a60d-b91f6838bdb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0a82e020-1931-415e-a60d-b91f6838bdb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-7cf9cbc4-db5b-4263-b5f6-eb66d7f234fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-7cf9cbc4-db5b-4263-b5f6-eb66d7f234fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dd6d0f81-e67b-4d61-93e9-c83cc01d45ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dd6d0f81-e67b-4d61-93e9-c83cc01d45ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-05607b6c-467e-4643-a653-0ea5132ca7e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-05607b6c-467e-4643-a653-0ea5132ca7e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0d77c1fe-2ad6-41b1-a4d9-d3ed4e9c0c00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0d77c1fe-2ad6-41b1-a4d9-d3ed4e9c0c00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e0fa1f1e-4e12-4652-bcde-a6120c82baff X-Openstack-Ironic-Api-Maximum-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-e0fa1f1e-4e12-4652-bcde-a6120c82baff X-Openstack-Ironic-Api-Maximum-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/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-d701ee74-54ce-492d-a9a8-deadde54a231 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d701ee74-54ce-492d-a9a8-deadde54a231 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d25fa790-5518-488a-982b-fe11f7b15cc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_cannot_put_custom_traits [0.565760s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.187756s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_lessee_admin_can_delete_vifs [0.231501s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_properties_get_observer [0.128484s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_third_party_admin_cannot_put_custom_traits [0.196449s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_member_cannot_delete_vifs [0.189480s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.101010s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_lessee_reader_get_vifs [0.138932s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00145_lessee_reader_cannot_get_vendor_passthru [0.303545s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.143606s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_readers_can_get_indicators [0.172209s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_admin_cannot_post_vendor_passthru [0.110600s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_conductors_get_observer [0.124090s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_delete_vifs [0.235917s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_owner_member_cannot_post_vendor_passthru [0.135570s] ... ok {1} 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. {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_owner_reader_cannot_post_vendor_passthru [0.073567s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_third_party_admin_cannot_set_indicator [0.116955s] ... ok 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-55cbf21c-8943-414d-9257-92866b9fe4d1 X-Openstack-Ironic-Api-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-a6a4632f-2c58-4772-b9a2-d79df78c62f3 X-Openstack-Ironic-Api-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-90ef359a-e674-4fdb-a66e-cbc11966b22a X-Openstack-Ironic-Api-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-450dde83-66dc-4767-89be-a8f0fb6f6bb9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-28de64e2-efb6-44df-a81d-5a3a51b8f928 X-Openstack-Ironic-Api-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-88815358-7427-4550-8e11-ca5934587d8b X-Openstack-Ironic-Api-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-177335c7-ea4c-4484-a9ac-8aedd91169ab X-Openstack-Ironic-Api-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-370c9042-3542-4cba-bf47-fcc2f8820f2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7d0791b1-a56b-4adf-b727-04f1f43c5373 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-07325ae1-59d5-4352-80f3-03e3f4cc1dc3 X-Openstack-Ironic-Api-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-e7f3bf3c-926e-4022-a1f4-248f5a634725 X-Openstack-Ironic-Api-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/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-fcddb8be-dea6-49a2-b8dd-7fd5515f933f X-Openstack-Ironic-Api-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-871b32e1-0c3b-4e37-9279-83c37f8bac72 X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_conductors_hostname_get_member [0.214049s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_third_party_admin_cannot_list_portgroups [0.091103s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bb4fa0a2-8dc7-4b8e-9545-089de23c5bc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bb4fa0a2-8dc7-4b8e-9545-089de23c5bc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e8c20bda-02b7-4918-8d8b-c31ec24cad9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e8c20bda-02b7-4918-8d8b-c31ec24cad9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0802988b-cb94-454a-982d-8515f0aeb73f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0802988b-cb94-454a-982d-8515f0aeb73f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-39cdd3d4-31bf-4501-ada3-61ce88302d48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-39cdd3d4-31bf-4501-ada3-61ce88302d48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e0e873de-a465-48f9-8743-c2664008d7d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e0e873de-a465-48f9-8743-c2664008d7d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-148d85f0-58f2-4580-9a4b-d6a7d99dbc98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-148d85f0-58f2-4580-9a4b-d6a7d99dbc98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-35744d0f-3fdc-4988-97a1-b3e4730dc61a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-35744d0f-3fdc-4988-97a1-b3e4730dc61a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f6c253ce-b158-49b1-9a8a-884b4ec20d1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f6c253ce-b158-49b1-9a8a-884b4ec20d1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_admin_cannot_post_vendor_passthru [0.151176s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_member_can_set_indicator [0.299749s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_member_cannot_modify_portgroup [0.124569s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_lessee_member_cannot_post_vendor_passthru [0.156997s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_member_cannot_delete_portgroup [0.088139s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_post_admin [0.275431s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_lessee_member_cannot_set_indicator [0.250892s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_vendor_passthru [0.159904s] ... ok 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-4a9c51e0-ae28-48c8-a67f-d0631983b1c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4a9c51e0-ae28-48c8-a67f-d0631983b1c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-a1cd615b-de0a-4d92-9aae-4f1cbdb74709 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a1cd615b-de0a-4d92-9aae-4f1cbdb74709 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-681983b5-0263-4ccb-a01a-ffeb41062b4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-681983b5-0263-4ccb-a01a-ffeb41062b4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-5c48d48d-2576-49ec-a07a-84c78728cdcb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-5c48d48d-2576-49ec-a07a-84c78728cdcb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-72a05e56-1cfa-4189-9478-f074d5c5595f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-72a05e56-1cfa-4189-9478-f074d5c5595f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ec6129e1-cc20-4f4b-aa23-004da4a1cec4 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-ec6129e1-cc20-4f4b-aa23-004da4a1cec4 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 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-3d1c1e99-b379-47db-bf53-b1d21a5abc8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3d1c1e99-b379-47db-bf53-b1d21a5abc8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8306b438-c2aa-4440-ac29-0b90182c70f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8306b438-c2aa-4440-ac29-0b90182c70f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-12f19331-5a71-4af2-9040-db80aac3e7cd X-Openstack-Ironic-Api-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_third_party_admin_cannot_delete_portgroup [0.184273s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_vendor_passthru [0.124715s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_get_member [0.205739s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_lessee_reader_can_list_portgroups [0.193896s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_list_ports [0.140041s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_reader_get_traits [0.161643s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_lessee_member_cannot_add_portgroup [0.171741s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_lessee_reader_can_read_port [0.161734s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_admin_cannot_put_traits [0.115409s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_third_party_admin_cannot_put_traits [0.092885s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d25fa790-5518-488a-982b-fe11f7b15cc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-804c1925-04e0-4cb8-a16a-e78be59da76d X-Openstack-Ironic-Api-Maximum-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-804c1925-04e0-4cb8-a16a-e78be59da76d X-Openstack-Ironic-Api-Maximum-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-fd0a5001-c26c-4820-9aca-545a6b7acdc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fd0a5001-c26c-4820-9aca-545a6b7acdc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d106a86-be34-451a-81a7-a27b4f9b0ae2 X-Openstack-Ironic-Api-Maximum-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-2d106a86-be34-451a-81a7-a27b4f9b0ae2 X-Openstack-Ironic-Api-Maximum-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/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-28f706b6-de86-46dd-b6c7-e7ac25e7e179 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-28f706b6-de86-46dd-b6c7-e7ac25e7e179 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-43d281a1-cb82-4bbc-bca6-6236c3c7b16f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-43d281a1-cb82-4bbc-bca6-6236c3c7b16f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ec1ee004-52bf-4a5b-bbdb-ba53aaa996c4 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-ec1ee004-52bf-4a5b-bbdb-ba53aaa996c4 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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-54797e45-a780-40d6-ae46-ce65b59927f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-54797e45-a780-40d6-ae46-ce65b59927f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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'}}] {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_owner_admin_can_modify_portgroup [0.132740s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_third_party_admin_cannot_read_port [0.196555s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.451517s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00173_owner_member_cannot_delete_traits [0.111747s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.073887s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_lessee_admin_cannot_delete_portgroup [0.175998s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_owner_admin_can_add_ports [0.146042s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.074221s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b59aa889-60fa-48ef-8eea-abb906244a48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b59aa889-60fa-48ef-8eea-abb906244a48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e43e8c2c-96f8-4aed-a2c2-957b461d2bec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e43e8c2c-96f8-4aed-a2c2-957b461d2bec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-616836a8-bfb3-40fb-8880-604de4ff61ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-616836a8-bfb3-40fb-8880-604de4ff61ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-8a8c8b0e-bf19-4204-aea6-fb55f50f6740 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-8a8c8b0e-bf19-4204-aea6-fb55f50f6740 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-550c4f5b-21b3-44cd-97cf-b11c50543eef 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-550c4f5b-21b3-44cd-97cf-b11c50543eef 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/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-449659af-9795-492c-bf45-96c69a982dca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-449659af-9795-492c-bf45-96c69a982dca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-956b7739-609e-4fe7-9ad3-5e661834a91e X-Openstack-Ironic-Api-Maximum-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-956b7739-609e-4fe7-9ad3-5e661834a91e X-Openstack-Ironic-Api-Maximum-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/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-5cae120e-ba65-48f4-befe-b3ce371e6cdb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-5cae120e-ba65-48f4-befe-b3ce371e6cdb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dd0f808e-2372-44d8-89b6-0ebf4f974188 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_admin_cannot_delete_traits [0.153067s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00226_owner_reader_can_get_node_portgroups [0.136838s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.081786s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_lessee_member_cannot_delete_traits [0.088498s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_post_admin [0.066849s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_owner_admin_cannot_add_ports_to_other_nodes [0.176305s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_owner_admin_can_put_custom_traits [0.132013s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_post_observer [0.116643s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_member_cannot_modify_port [0.118857s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_lessee_reader_can_get_node_porgtroups [0.220902s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_member_cannot_put_custom_traits [0.086080s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_get_admin [0.095543s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_owner_admin_can_post_vifs [0.078906s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_get_observer [0.060651s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_third_party_admin_cannot_get_portgroups [0.124344s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_owner_reader_can_get_ports_by_portgroup [0.181407s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.104100s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_owner_admin_delete_vifs [0.144093s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_reader_can_list_ports [0.152396s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.059420s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_lessee_reader_can_get_ports_by_portgroup [0.164114s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_member_can_delete_vifs [0.159930s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-13c9aa4e-fa68-4d2f-b78c-87d3e69ce142 X-Openstack-Ironic-Api-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-bc4e3340-4760-414e-9f57-97575f53ba8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-99b93445-e11d-4de9-9ee1-41f93c51b5ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/1f595aba-761d-4818-b693-a2588cf3e5b8 PATCH: /v1/allocations/1f595aba-761d-4818-b693-a2588cf3e5b8 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5dc189e8-c5b9-49e2-83d2-5ffe51037aad X-Openstack-Ironic-Api-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 1f595aba-761d-4818-b693-a2588cf3e5b8 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/4c5944f0-f261-4b49-82af-8e93380df457 DELETE: /v1/allocations/4c5944f0-f261-4b49-82af-8e93380df457 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aee5724e-407b-43ac-9a01-8435fc7995a6 X-Openstack-Ironic-Api-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 4c5944f0-f261-4b49-82af-8e93380df457 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/78e0b4e2-f347-451a-aa16-551dbacd442e DELETE: /v1/allocations/78e0b4e2-f347-451a-aa16-551dbacd442e GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-516a2a12-d684-43b5-919d-22d4ee27cd84 X-Openstack-Ironic-Api-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 78e0b4e2-f347-451a-aa16-551dbacd442e 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-07a2a291-52f9-4e00-856f-9d990343888f X-Openstack-Ironic-Api-Maximum-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-2b5b6f76-9270-4553-b975-d35ae465f183 X-Openstack-Ironic-Api-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-4fee3caa-1b36-4aa0-9b1c-3edcfad2cb9a X-Openstack-Ironic-Api-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-6e1d5eac-8e1c-4119-a97b-9ad214170c51 X-Openstack-Ironic-Api-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-8731b612-16a9-4ef5-84eb-e7dab259ff48 X-Openstack-Ironic-Api-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/bda660df-08de-40e5-a747-cc043a6a06f1 GET: /v1/deploy_templates/bda660df-08de-40e5-a747-cc043a6a06f1 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-828fddd3-7525-4b63-bc9f-5f91745108e3 X-Openstack-Ironic-Api-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/d9c406ec-f94f-4ba4-ba1c-b80ef9455168 GET: /v1/deploy_templates/d9c406ec-f94f-4ba4-ba1c-b80ef9455168 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9a92162a-2502-42e7-af07-daf89c008be9 X-Openstack-Ironic-Api-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/09f5fc08-e0a9-451e-8e38-6ae014ccade5 PATCH: /v1/deploy_templates/09f5fc08-e0a9-451e-8e38-6ae014ccade5 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.103302s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_lesse_readers_can_get_indicators [0.127224s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.210093s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-de663516-78aa-47cc-bae9-a9216f8184bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-de663516-78aa-47cc-bae9-a9216f8184bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-bcef1c83-40c4-4e42-b907-12d3aa4eade7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-bcef1c83-40c4-4e42-b907-12d3aa4eade7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f3c6aaea-e1d8-46c7-a92b-6945dcbd558b 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-f3c6aaea-e1d8-46c7-a92b-6945dcbd558b 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/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-283df37f-135d-4af0-a8d6-05c97c41bc0a 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-283df37f-135d-4af0-a8d6-05c97c41bc0a 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/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-31a1f3ac-a651-40dd-9fa6-3a62f5eeb71d X-Openstack-Ironic-Api-Maximum-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-31a1f3ac-a651-40dd-9fa6-3a62f5eeb71d X-Openstack-Ironic-Api-Maximum-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-08158401-f5a6-42fd-88a9-8fc54672a816 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-08158401-f5a6-42fd-88a9-8fc54672a816 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/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-fccc2120-ba3c-4cfe-a949-355be1fe74bf 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": "2021-12-14T09:45:13.652243+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} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_reader_can_read_port [0.255041s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-12f19331-5a71-4af2-9040-db80aac3e7cd X-Openstack-Ironic-Api-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-b8cb11fd-6d64-435e-9b02-6add7dd4c5e3 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-b8cb11fd-6d64-435e-9b02-6add7dd4c5e3 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/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-ddf938ad-8eae-43f6-b4ad-43bc45e8bbad 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": "2021-12-14T09:45:12.579076+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-ddf938ad-8eae-43f6-b4ad-43bc45e8bbad 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": "2021-12-14T09:45:12.579076+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 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-c6dabc8f-4f00-46af-ab8d-c4b25742863f X-Openstack-Ironic-Api-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-c6dabc8f-4f00-46af-ab8d-c4b25742863f X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a72c2823-f15b-49bf-a44a-12a424021b34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a72c2823-f15b-49bf-a44a-12a424021b34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-3e49e1ca-4703-411f-8840-81de5fe9cc17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3e49e1ca-4703-411f-8840-81de5fe9cc17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-495eeb63-f49b-4f06-9855-2563139f4cfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-495eeb63-f49b-4f06-9855-2563139f4cfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-cf957449-03ff-494e-a3f1-3dabe4242ba4 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-cf957449-03ff-494e-a3f1-3dabe4242ba4 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 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f88ffce9-6853-41e7-8865-a3e67bca8580 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-f88ffce9-6853-41e7-8865-a3e67bca8580 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 patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_third_party_admin_cannot_patch_volume_connectors [0.293221s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.136522s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dd0f808e-2372-44d8-89b6-0ebf4f974188 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-691388c1-6b94-4fde-87c5-298cd8aa6d07 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-691388c1-6b94-4fde-87c5-298cd8aa6d07 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-9d85f7ca-e9e6-4890-8129-7a0cc82ef66a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9d85f7ca-e9e6-4890-8129-7a0cc82ef66a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b5048126-77e8-4ab0-9bf4-cb554d5571fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b5048126-77e8-4ab0-9bf4-cb554d5571fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 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-c15d9f82-f0ca-4661-a336-f82999d2839c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c15d9f82-f0ca-4661-a336-f82999d2839c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fbe3c76f-dd26-4143-9aaa-9e939057fbd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fbe3c76f-dd26-4143-9aaa-9e939057fbd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-30718bfe-49dd-4a9f-b277-81427cdcee47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-30718bfe-49dd-4a9f-b277-81427cdcee47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa480f3a-16b5-4137-8cb7-491845367dd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-aa480f3a-16b5-4137-8cb7-491845367dd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_owner_reader_can_list_portgroups [0.194127s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_member_cannot_add_port [0.292326s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_reader_can_read_portgroup [0.114260s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.160848s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_third_party_admin_cannot_add_portgroup [0.109125s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_owner_admin_can_delete_volume_connectors [0.342672s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_admin_cannot_add_port [0.201110s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_owner_member_cannot_modify_portgroup [0.116849s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_lessee_admin_can_delete_volume_connectors [0.170766s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.257716s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_lessee_member_cannot_add_port [0.179144s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_modify_portgroup [0.165355s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.106892s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_third_party_admin_cannot_get_target_list [0.173849s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_third_party_admin_cannot_add_port [0.150736s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.149389s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00243_lessee_admin_cannot_modify_port [0.174289s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.079519s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_third_party_admin_cannot_get_volume_target [0.212917s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ab83c4a-ee98-4bb7-b221-2952b28ba1d6 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-4ab83c4a-ee98-4bb7-b221-2952b28ba1d6 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 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-03f9e862-7b46-4ccc-875c-4cd043dcff01 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": "2021-12-14T09:45:14.128818+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-03f9e862-7b46-4ccc-875c-4cd043dcff01 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": "2021-12-14T09:45:14.128818+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-001108b8-c3ae-46e3-86a7-0a28dda09f5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-001108b8-c3ae-46e3-86a7-0a28dda09f5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d525686f-0786-46f4-9621-64fed823da56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d525686f-0786-46f4-9621-64fed823da56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5ea336a2-595d-4ebc-ad4a-bb205baa646a X-Openstack-Ironic-Api-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-5ea336a2-595d-4ebc-ad4a-bb205baa646a X-Openstack-Ironic-Api-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/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-8aabbe4a-4d56-4458-b578-e32e1fc2ec3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8aabbe4a-4d56-4458-b578-e32e1fc2ec3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_lessee_admin_cannot_delete_port [0.158854s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00300_node_history_get_admin [0.131301s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_owner_admin_can_modify_port [0.280772s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_reader_can_get_node_port [0.120273s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00303_node_history_get_entry_admin [0.115325s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_owner_admin_create_volume_target [0.233338s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_connector [0.182737s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_modify_port [0.258675s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00305_node_history_get_entry_observer [0.176365s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_lessee_admin_can_patch_volume_target [0.276843s] ... ok {3} 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.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_connector [0.174872s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00247_owner_member_cannot_delete_port [0.213274s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.156147s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_lessee_member_cannot_patch_volume_connectors [0.186072s] ... ok 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-01c41569-3d10-4729-96f3-754b855a2876 X-Openstack-Ironic-Api-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-01c41569-3d10-4729-96f3-754b855a2876 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce2940e7-b0c5-41a5-b6ee-a660be01d3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ce2940e7-b0c5-41a5-b6ee-a660be01d3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f50e859a-14e0-4398-be34-cf81dbab6c7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f50e859a-14e0-4398-be34-cf81dbab6c7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b05ce9a9-a83d-4ec9-b376-5ba537543030 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-b05ce9a9-a83d-4ec9-b376-5ba537543030 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 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-b071304f-f76c-47e8-8eb2-c15055b16963 X-Openstack-Ironic-Api-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-b071304f-f76c-47e8-8eb2-c15055b16963 X-Openstack-Ironic-Api-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 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/4e45ceb9-2944-403b-8edd-0570f0207aa2 Openstack-Request-Id: req-ec7fd524-800b-4e7e-9267-7e09ee0c2042 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4e45ceb9-2944-403b-8edd-0570f0207aa2", "created_at": "2021-12-14T09:45:15.048658+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4e45ceb9-2944-403b-8edd-0570f0207aa2", "rel": "self"}, {"href": "http://localhost/volume/targets/4e45ceb9-2944-403b-8edd-0570f0207aa2", "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/4e45ceb9-2944-403b-8edd-0570f0207aa2 Openstack-Request-Id: req-ec7fd524-800b-4e7e-9267-7e09ee0c2042 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4e45ceb9-2944-403b-8edd-0570f0207aa2", "created_at": "2021-12-14T09:45:15.048658+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4e45ceb9-2944-403b-8edd-0570f0207aa2", "rel": "self"}, {"href": "http://localhost/volume/targets/4e45ceb9-2944-403b-8edd-0570f0207aa2", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-df5be22a-75e3-44f9-aa32-266bb132bc23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-df5be22a-75e3-44f9-aa32-266bb132bc23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/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-0dc0ea83-b403-4e64-ac58-b859d4a32219 X-Openstack-Ironic-Api-Maximum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_third_part_admin_cannot_read_node_volume_targets [0.194744s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fccc2120-ba3c-4cfe-a949-355be1fe74bf 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": "2021-12-14T09:45:13.652243+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 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-75f630f6-509c-4fb4-8cc6-c51fbc5287ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-75f630f6-509c-4fb4-8cc6-c51fbc5287ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-dc94acf0-a406-4fe7-9dc6-5c3715342459 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-dc94acf0-a406-4fe7-9dc6-5c3715342459 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-23adacf0-65b8-493a-ad1c-75fb169165d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-23adacf0-65b8-493a-ad1c-75fb169165d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0a6319a7-19e3-408a-9027-a49b1440abbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0a6319a7-19e3-408a-9027-a49b1440abbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-87a21ad8-b1f6-40ae-ae90-2af11fef2a05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-87a21ad8-b1f6-40ae-ae90-2af11fef2a05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-5409d729-02a6-4b90-8680-69f124bd0714 X-Openstack-Ironic-Api-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-5409d729-02a6-4b90-8680-69f124bd0714 X-Openstack-Ironic-Api-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/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-e7c52c1e-20a8-4145-9406-e0a2913d41b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e7c52c1e-20a8-4145-9406-e0a2913d41b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_lessee_member_cannot_delete_port [0.140889s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_cannot_get_drivers [0.172569s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00007_nodes_get_node_observer [0.209734s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_owner_admin_can_patch_volume_connectors [0.253026s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_owner_reader_can_get_node_ports [0.251596s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_reader_can_get_bios_settings [0.171621s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9f643299-412f-4549-8522-897fbcf094fc X-Openstack-Ironic-Api-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/05d2b10c-0f8d-419f-9217-6d1645ffffd9 PATCH: /v1/deploy_templates/05d2b10c-0f8d-419f-9217-6d1645ffffd9 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-88b8c478-6d1d-4079-b047-3837718b9350 X-Openstack-Ironic-Api-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/be8e071d-4137-402e-80f8-bc4a9c56108b PATCH: /v1/deploy_templates/be8e071d-4137-402e-80f8-bc4a9c56108b [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-030ae0c0-bc35-44e0-959f-243472978dc5 X-Openstack-Ironic-Api-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 delete /v1/deploy_templates/b80bd740-4edd-47b5-b537-6f77477aa7f6 DELETE: /v1/deploy_templates/b80bd740-4edd-47b5-b537-6f77477aa7f6 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-349a2573-cbea-458d-82ec-dd75471a28f9 X-Openstack-Ironic-Api-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/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-6949122a-0e37-43d0-b4f2-7e17f534b2b0 X-Openstack-Ironic-Api-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-17ce7a33-3bc9-46e9-8ccf-67c21afc24e5 X-Openstack-Ironic-Api-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-d65644c0-12e3-4283-baf0-6dba76bed6bd X-Openstack-Ironic-Api-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-ae3148d7-0267-466e-a9c3-72795ce27d45 X-Openstack-Ironic-Api-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b29d367-b243-4fcf-a4b6-0cde61881237 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/379b6242-97d5-448d-8076-568f828069c1 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/379b6242-97d5-448d-8076-568f828069c1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-510b3b85-d9f6-44e8-b930-c975c43487a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/725f3ceb-9b66-4827-b9ad-9d65936d75eb GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/725f3ceb-9b66-4827-b9ad-9d65936d75eb {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-86be25ba-e815-43c3-a9e1-b11b84d3de3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f64f90bd-4cfa-4c8e-a52d-6ee0cbfd3524 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-bb793bd6-dbb4-4977-b152-9195005b8958 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.148223s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_owner_member_can_patch_volume_target [0.190584s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_third_party_admin_cannot_get_ports [0.195824s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.122553s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.110314s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_get_ports_by_portgroup [0.164672s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23689a69-7952-49f3-ac63-3438f4266a15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-23689a69-7952-49f3-ac63-3438f4266a15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-4d65f791-7401-4418-97c8-ea0c6e0478f6 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-4d65f791-7401-4418-97c8-ea0c6e0478f6 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/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-3c74c959-0667-4101-a1a5-2d55ec58124e 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": "2021-12-14T09:45:15.108881+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-3c74c959-0667-4101-a1a5-2d55ec58124e 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": "2021-12-14T09:45:15.108881+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-4ecdc327-27e2-43e2-b9d3-d45273d710e5 X-Openstack-Ironic-Api-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-4ecdc327-27e2-43e2-b9d3-d45273d710e5 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cf275946-5919-451d-9ac8-6bce8522d702 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-cf275946-5919-451d-9ac8-6bce8522d702 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-47a20f8a-3e2a-4622-b86a-a55b7fa74417 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-47a20f8a-3e2a-4622-b86a-a55b7fa74417 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1aac2b71-d6d7-4d5e-818c-67a54f0283ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1aac2b71-d6d7-4d5e-818c-67a54f0283ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.115919s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.092813s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_admin_can_delete_volume_target [0.130969s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.066711s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_owner_member_cannot_delete_volume_target [0.090488s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.086075s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_reader_can_list_volume_connectors [0.152429s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00027_nodes_maintenance_put_member [0.107348s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_third_party_admin_cannot_delete_volume_target [0.169128s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00258_lessee_reader_can_list_volume_connectors [0.155516s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_lessee_reader_can_get_their_allocation [0.680483s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.082362s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_cannot_get_drivers [0.105008s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.094345s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00300_third_party_admin_cannot_get_drivers [0.074433s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_admin_can_delete_their_allocation [0.134307s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00040_nodes_management_boot_device_supported_get_observer [0.103431s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_third_party_admin_cannot_get_drivers_vendor_passthru [0.103277s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-61d830ba-147f-49ad-a662-701bff59e829 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-61d830ba-147f-49ad-a662-701bff59e829 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-8ebc1427-bf94-4d9c-8588-a492fc76ab95 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-8ebc1427-bf94-4d9c-8588-a492fc76ab95 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c1b0f89-72ab-4d21-a463-b74c9a78a97f X-Openstack-Ironic-Api-Maximum-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-0c1b0f89-72ab-4d21-a463-b74c9a78a97f X-Openstack-Ironic-Api-Maximum-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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-69d1add1-b77e-4d66-aae4-f893615504ae X-Openstack-Ironic-Api-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-69d1add1-b77e-4d66-aae4-f893615504ae X-Openstack-Ironic-Api-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-5c2cd6ef-af01-4d8d-893c-c06d960f9153 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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c2cd6ef-af01-4d8d-893c-c06d960f9153 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 get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b64e124a-8f16-4ab4-abb4-042da18d7ec7 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-b64e124a-8f16-4ab4-abb4-042da18d7ec7 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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_admin_can_post_volume_connector [0.204571s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00331_owner_admin_can_delete_allocation [0.238401s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_cannot_get_bios_settings [0.139463s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.199600s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_post_volume_connector [0.222652s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-10dde474-f215-487e-b3a8-128aea2e72e9 X-Openstack-Ironic-Api-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-10dde474-f215-487e-b3a8-128aea2e72e9 X-Openstack-Ironic-Api-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-4380ff01-ee33-494b-a354-212cfb1de322 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4380ff01-ee33-494b-a354-212cfb1de322 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7bcc5051-dcf9-4783-bf0e-8070aef1a69a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7bcc5051-dcf9-4783-bf0e-8070aef1a69a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-341c811d-5263-4618-80ab-140f3597d65b X-Openstack-Ironic-Api-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-341c811d-5263-4618-80ab-140f3597d65b X-Openstack-Ironic-Api-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/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-563a9bf7-8153-4484-ac6f-cd4662680bf0 X-Openstack-Ironic-Api-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-563a9bf7-8153-4484-ac6f-cd4662680bf0 X-Openstack-Ironic-Api-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-46eae935-dced-43d5-9810-3ef5aca7330f X-Openstack-Ironic-Api-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-46eae935-dced-43d5-9810-3ef5aca7330f X-Openstack-Ironic-Api-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-7b86fc5b-da9c-42b0-98a0-9c4b35b119aa X-Openstack-Ironic-Api-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-7b86fc5b-da9c-42b0-98a0-9c4b35b119aa X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-348cfdd6-fd79-446c-8636-20bce204afea X-Openstack-Ironic-Api-Maximum-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-348cfdd6-fd79-446c-8636-20bce204afea X-Openstack-Ironic-Api-Maximum-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_owner_reader_cannot_get_conductors [0.155646s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.177769s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00332_lessee_admin_can_delete_allocation [0.192860s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_third_party_admin_cannot_delete_volume_connector [0.185117s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00339_lessee_reader_cannot_access_chassis [0.165240s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_third_party_admin_can_create_allocation [0.244095s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_owner_reader_can_get_volume_target [0.205597s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_boot_mode_put_member [0.276219s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_secure_boot_put_admin [0.096935s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_create_allocation_with_owner_node [0.218540s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_lessee_reader_can_get_volume_target [0.234679s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81f3b234-f4d3-4926-982f-a0edc31046dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a6750546-9dd3-4948-a252-e7b69acdb065 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1b43f6d1-c3e4-4026-868c-fc7712dada2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-770a73d3-7062-4587-9465-212b2707a68b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8500955c-7cd0-4526-8c5e-c93e551f8518 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a9061e19-ef71-4845-8a73-005e5d66d20c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-52cebc5e-3879-42dc-ac9b-199b1e4e8518 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ce8604eb-dc0e-4b78-976d-217e30735823 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6beb885f-4af0-4fed-8b70-aa93c8114f84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0008898f-756d-4be4-9111-17ac33fb7d9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-15de0b85-c80f-4cf1-9d4b-1e223e36b92e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-bcbff7b3-f4e0-449d-87e3-5dd4bedc7945 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ef5b48cd-cfca-4522-9284-8790f9ef8f38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b2ce82af-30b7-4c07-a55a-f991490482b2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_states_console_put_observer [0.158094s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_post_observer [0.155873s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0dc0ea83-b403-4e64-ac58-b859d4a32219 X-Openstack-Ironic-Api-Maximum-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-f14a5dc6-7954-49ca-ac5b-cdc00ae2c1c6 X-Openstack-Ironic-Api-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-f14a5dc6-7954-49ca-ac5b-cdc00ae2c1c6 X-Openstack-Ironic-Api-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/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-fa72fca7-0418-4d2f-8945-8ec11a6be3ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa72fca7-0418-4d2f-8945-8ec11a6be3ae 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/a53839d4-e432-42a9-b07d-8f50aa8caba0 GET: /v1/allocations/a53839d4-e432-42a9-b07d-8f50aa8caba0 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e568853-4fa1-4c2b-ae4e-de18b36566b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a53839d4-e432-42a9-b07d-8f50aa8caba0", "created_at": "2021-12-14T09:45:15.980422+00:00", "updated_at": null, "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/a53839d4-e432-42a9-b07d-8f50aa8caba0", "rel": "self"}, {"href": "http://localhost/allocations/a53839d4-e432-42a9-b07d-8f50aa8caba0", "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-3e568853-4fa1-4c2b-ae4e-de18b36566b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a53839d4-e432-42a9-b07d-8f50aa8caba0", "created_at": "2021-12-14T09:45:15.980422+00:00", "updated_at": null, "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/a53839d4-e432-42a9-b07d-8f50aa8caba0", "rel": "self"}, {"href": "http://localhost/allocations/a53839d4-e432-42a9-b07d-8f50aa8caba0", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path delete /v1/allocations/d466c62a-ce9f-4729-ac54-dad250a13b7c DELETE: /v1/allocations/d466c62a-ce9f-4729-ac54-dad250a13b7c GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0e5a9ba-a38c-427c-92bd-5b2711b6f914 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c0e5a9ba-a38c-427c-92bd-5b2711b6f914 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/allocation DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d17ee753-7c44-42df-9ec1-5e4a55f19665 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d17ee753-7c44-42df-9ec1-5e4a55f19665 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3ae6242e-c157-4d14-bded-353bc14f1c96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3ae6242e-c157-4d14-bded-353bc14f1c96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-74eb3d13-b191-43bb-b0c2-c780f426e565 X-Openstack-Ironic-Api-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-74eb3d13-b191-43bb-b0c2-c780f426e565 X-Openstack-Ironic-Api-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 post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.253890s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.170401s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_delete_an_allocation [0.304229s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_vendor_passthru_put_admin [0.094920s] ... ok 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/b95a9cf5-bb61-4577-ac53-518f51bfe2c8 Openstack-Request-Id: req-1f23add1-50f1-42ce-b2eb-e3a2e0d2bf86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "created_at": "2021-12-14T09:45:16.735632+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "rel": "self"}, {"href": "http://localhost/volume/connectors/b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/b95a9cf5-bb61-4577-ac53-518f51bfe2c8 Openstack-Request-Id: req-1f23add1-50f1-42ce-b2eb-e3a2e0d2bf86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "created_at": "2021-12-14T09:45:16.735632+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "rel": "self"}, {"href": "http://localhost/volume/connectors/b95a9cf5-bb61-4577-ac53-518f51bfe2c8", "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-9393d9b6-768c-41c0-aa86-4229bc930495 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9393d9b6-768c-41c0-aa86-4229bc930495 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-2b4b7a2a-9a73-412b-9033-efb5b639e4a1 X-Openstack-Ironic-Api-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-2b4b7a2a-9a73-412b-9033-efb5b639e4a1 X-Openstack-Ironic-Api-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-e71d830a-8aa5-4b8d-ab6c-42acb35856eb 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": "2021-12-14T09:45:17.268988+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-e71d830a-8aa5-4b8d-ab6c-42acb35856eb 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": "2021-12-14T09:45:17.268988+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-e172b1c3-29d9-4c30-a929-3afdaab159fb 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": "2021-12-14T09:45:17.486655+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-e172b1c3-29d9-4c30-a929-3afdaab159fb 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": "2021-12-14T09:45:17.486655+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'} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_lessee_admin_create_volume_target [0.186077s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00328_owner_reader_can_read_node_allocation [0.141885s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_third_party_admin_cannot_create_volume_target [0.235410s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_vendor_passthru_put_member [0.108663s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.204694s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00329_lessee_reader_can_read_node_allocation [0.147836s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_put_admin [0.114371s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.164576s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_member_cannot_patch_volume_target [0.211790s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_traits_trait_put_admin [0.094895s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_owner_reader_can_get_node_volume_targets [0.149253s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_traits_trait_put_member [0.156723s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.181446s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b71b40d7-76a3-420d-a0e2-348bea1a7814 X-Openstack-Ironic-Api-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-b71b40d7-76a3-420d-a0e2-348bea1a7814 X-Openstack-Ironic-Api-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e772eb8-b211-4745-bb86-345df9c9139b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3e772eb8-b211-4745-bb86-345df9c9139b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7dee1a1-b040-4093-8860-fb386b88b97c X-Openstack-Ironic-Api-Maximum-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-a7dee1a1-b040-4093-8860-fb386b88b97c X-Openstack-Ironic-Api-Maximum-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/allocations/dcb91c5a-831d-4644-9773-9d8b8fdfb195 DELETE: /v1/allocations/dcb91c5a-831d-4644-9773-9d8b8fdfb195 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e8d2da4-af5c-4f92-9733-02b67cc3a0c2 X-Openstack-Ironic-Api-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 dcb91c5a-831d-4644-9773-9d8b8fdfb195 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e8d2da4-af5c-4f92-9733-02b67cc3a0c2 X-Openstack-Ironic-Api-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 dcb91c5a-831d-4644-9773-9d8b8fdfb195 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-396f6d7e-a9a2-42aa-b077-77d725e1d67c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7602ecd2-412e-4d1f-9d37-28c37352c33c", "created_at": "2021-12-14T09:45:17.939492+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/7602ecd2-412e-4d1f-9d37-28c37352c33c", "rel": "self"}, {"href": "http://localhost/allocations/7602ecd2-412e-4d1f-9d37-28c37352c33c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-396f6d7e-a9a2-42aa-b077-77d725e1d67c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7602ecd2-412e-4d1f-9d37-28c37352c33c", "created_at": "2021-12-14T09:45:17.939492+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/7602ecd2-412e-4d1f-9d37-28c37352c33c", "rel": "self"}, {"href": "http://localhost/allocations/7602ecd2-412e-4d1f-9d37-28c37352c33c", "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-22f47bd3-db6c-41f0-aa74-f4ec4bed1c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5d2687a2-e37b-4250-9544-6bdd1c5b4605", "created_at": "2021-12-14T09:45:18.097938+00:00", "updated_at": null, "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/5d2687a2-e37b-4250-9544-6bdd1c5b4605", "rel": "self"}, {"href": "http://localhost/allocations/5d2687a2-e37b-4250-9544-6bdd1c5b4605", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22f47bd3-db6c-41f0-aa74-f4ec4bed1c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5d2687a2-e37b-4250-9544-6bdd1c5b4605", "created_at": "2021-12-14T09:45:18.097938+00:00", "updated_at": null, "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/5d2687a2-e37b-4250-9544-6bdd1c5b4605", "rel": "self"}, {"href": "http://localhost/allocations/5d2687a2-e37b-4250-9544-6bdd1c5b4605", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} 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-b4bc5e75-dbe6-4bab-b668-07b320e7a431 X-Openstack-Ironic-Api-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}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00330_third_party_admin_cannot_read_node_allocation [0.116666s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00335_lessee_reader_cannot_get_deploy_templates [0.228304s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_get_observer [0.086840s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.101603s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_lessee_reader_cannot_get_drivers_vendor_passthru [0.182397s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_nodes_management_indicators_get_member [0.180567s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.198836s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_reader_can_get_bios_setttings [0.184745s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_nodes_management_indicators_get_observer [0.113980s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_detail_get_observer [0.087823s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00342_node_history_get_admin [0.394869s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.224934s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_lessee_reader_cannot_get_conductors [0.209564s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00343_node_history_get_member [0.097069s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_portgroups_portgroup_ident_delete_observer [0.087351s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00131_nodes_portgroups_get_member [0.063846s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00344_node_history_get_reader [0.078829s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.147167s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_nodes_portgroups_get_observer [0.083047s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00348_lessee_node_history_get_admin [0.099844s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/8cff3e65-746c-482a-9301-43d2a1cf381e Openstack-Request-Id: req-f30f8180-3be7-418c-9fcf-066feb08bcce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8cff3e65-746c-482a-9301-43d2a1cf381e", "created_at": "2021-12-14T09:45:17.774746+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8cff3e65-746c-482a-9301-43d2a1cf381e", "rel": "self"}, {"href": "http://localhost/volume/targets/8cff3e65-746c-482a-9301-43d2a1cf381e", "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/8cff3e65-746c-482a-9301-43d2a1cf381e Openstack-Request-Id: req-f30f8180-3be7-418c-9fcf-066feb08bcce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8cff3e65-746c-482a-9301-43d2a1cf381e", "created_at": "2021-12-14T09:45:17.774746+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8cff3e65-746c-482a-9301-43d2a1cf381e", "rel": "self"}, {"href": "http://localhost/volume/targets/8cff3e65-746c-482a-9301-43d2a1cf381e", "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-4685e7cd-e15c-44f4-b35c-8a75c2749af1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4685e7cd-e15c-44f4-b35c-8a75c2749af1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ac2735fa-d5fa-4cf2-859e-533d23959194 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ac2735fa-d5fa-4cf2-859e-533d23959194 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-197f61a9-28e1-4bc8-9ae0-ae99aa6b4d0a 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-197f61a9-28e1-4bc8-9ae0-ae99aa6b4d0a 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-8f910642-7693-4192-9c11-cf819a35f85d X-Openstack-Ironic-Api-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-8f910642-7693-4192-9c11-cf819a35f85d X-Openstack-Ironic-Api-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-8d7a9aa8-2cb2-402b-8717-550b75ea688f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8d7a9aa8-2cb2-402b-8717-550b75ea688f 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/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a5b43140-020d-48e3-8de9-709496e3c1fd X-Openstack-Ironic-Api-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-a5b43140-020d-48e3-8de9-709496e3c1fd X-Openstack-Ironic-Api-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_get_conductors [0.139609s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_get_observer [0.136936s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.172729s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_reader_can_get_allocations [0.205693s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00349_lessee_node_history_get_member [0.210553s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.189853s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00350_lessee_node_history_get_reader [0.104325s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6136dec4-3d31-4125-b7dc-f999b946330c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b538f802-394d-4d81-aab7-9bbb396325e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-44d59322-568a-41e9-bf55-03eeb757863a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6efa7e77-bfa3-4553-a031-f6d41f5202ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d5e85eea-116f-4eff-b33c-ad7d722baeb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-369344a5-c407-42d0-9cbb-053b75e53e3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-00dbdaa4-9495-4eed-8cac-9efd2f1cdb36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6d9f3bf5-345d-4709-ad21-75e09aaa443b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-cd33512b-9847-43b2-bcd4-f87489c9d100 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-753f4ee9-6514-4ad4-b344-0e9005eca4c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-19529d11-2652-4a79-8b53-c04eaae31b7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-2c477106-4f1f-4cb8-b49e-9e199b08883e X-Openstack-Ironic-Api-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-9b53e957-32cf-4d28-8c20-48da3a219e92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-96753a09-15f8-4cac-9448-fb379e3b4713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6e93e416-5335-4532-94ba-813fce1e5b32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_post_admin [0.143766s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_detail_get_member [0.107748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_lessee_member_can_delete_their_allocation [0.300498s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b4bc5e75-dbe6-4bab-b668-07b320e7a431 X-Openstack-Ironic-Api-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: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2c16edc7-5a75-4dfb-ad7b-64f66f9a187f X-Openstack-Ironic-Api-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-2c16edc7-5a75-4dfb-ad7b-64f66f9a187f X-Openstack-Ironic-Api-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/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-ca171f6f-c401-4cfc-8576-20fc036f05e3 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": "be0517ee-283e-45d8-916e-18b5a9dc13e5", "created_at": "2021-12-14T09:45:18.847369+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/be0517ee-283e-45d8-916e-18b5a9dc13e5", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca171f6f-c401-4cfc-8576-20fc036f05e3 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": "be0517ee-283e-45d8-916e-18b5a9dc13e5", "created_at": "2021-12-14T09:45:18.847369+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/be0517ee-283e-45d8-916e-18b5a9dc13e5", "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-e0cb40ef-eeeb-4ce0-b117-683d7231cf32 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": "9999726b-c8e0-4fac-9d20-2102a915f11f", "created_at": "2021-12-14T09:45:18.929928+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/9999726b-c8e0-4fac-9d20-2102a915f11f", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0cb40ef-eeeb-4ce0-b117-683d7231cf32 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": "9999726b-c8e0-4fac-9d20-2102a915f11f", "created_at": "2021-12-14T09:45:18.929928+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/9999726b-c8e0-4fac-9d20-2102a915f11f", "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-5c72b27c-164c-465c-ba02-41c8f262b17c 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": "051fd935-ea97-4882-bf13-46bcd00697e3", "created_at": "2021-12-14T09:45:19.026524+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/051fd935-ea97-4882-bf13-46bcd00697e3", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c72b27c-164c-465c-ba02-41c8f262b17c 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": "051fd935-ea97-4882-bf13-46bcd00697e3", "created_at": "2021-12-14T09:45:19.026524+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/051fd935-ea97-4882-bf13-46bcd00697e3", "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-0a897ef7-dab9-40af-8e67-0880e366629e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-0a897ef7-dab9-40af-8e67-0880e366629e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-976b3003-825c-4522-b178-893184eb414d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-976b3003-825c-4522-b178-893184eb414d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-2b0f8aae-9acc-46f2-9566-d8e47a79f017 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-2b0f8aae-9acc-46f2-9566-d8e47a79f017 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00353_lessee_node_history_get_entry_reader [0.131102s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_get_admin [0.139702s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00027_nodes_maintenance_put_member [0.241771s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00354_third_party_admin_cannot_get_node_history [0.150402s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_get_observer [0.115838s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_lessee_member_can_patch_allocation [0.246929s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.226853s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_connectors_post_member [0.137091s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.181979s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.153783s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.094487s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.147521s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_volume_connector_id_patch_member [0.182333s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_patch_an_allocation [0.127288s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.137786s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.160347s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_volume_connector_id_patch_observer [0.194980s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.142298s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_volume_connector_id_delete_observer [0.101836s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-aaf2ddf2-5187-4a5b-93cb-4d6ab17a105f X-Openstack-Ironic-Api-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-a7d9702c-f86e-4a02-b3ba-ff84457bda8c X-Openstack-Ironic-Api-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-1bc89e75-8383-4fce-be61-82282584e233 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-bd5d51a2-7a32-4c57-8738-15375b4868e7 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-bd5d51a2-7a32-4c57-8738-15375b4868e7 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-206ba0c8-2865-41bc-ac76-87b557ca4bc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-dbb40cf5-bfc2-489b-bbf7-f4a5ee583334 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e1de0f9e-4ba3-4d6d-b4fe-7772292d5b28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-631b806d-ec20-4a72-a847-ff1524931e7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7902004c-e9b1-4ce0-bb69-5d602cb4a1e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f0cae341-1856-4979-9ce0-fe401ccfe115 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ac93b4c8-8af1-4c55-b60c-8e4372974aa8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a025b4ec-c1f5-4ff5-9cf7-7ed7c30c7490 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-dfb79fed-1527-4917-9a37-ea13d0d08edb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3a4a66ab-0791-4473-a7ab-710d3d630b89 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c28e111d-a3ff-4ec6-8a8d-20b3e7e25aac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.145221s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.141215s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f7ff5274-2ff4-4e2d-9bb3-b0e04fc0a805 X-Openstack-Ironic-Api-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-f7ff5274-2ff4-4e2d-9bb3-b0e04fc0a805 X-Openstack-Ironic-Api-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-015d0cbb-89a4-4317-a5ad-fd0aefe74e35 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": "9040ed44-8d3d-43c0-8758-a42e837954e7", "created_at": "2021-12-14T09:45:19.236421+00:00", "updated_at": null, "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/9040ed44-8d3d-43c0-8758-a42e837954e7", "rel": "self"}, {"href": "http://localhost/allocations/9040ed44-8d3d-43c0-8758-a42e837954e7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-015d0cbb-89a4-4317-a5ad-fd0aefe74e35 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": "9040ed44-8d3d-43c0-8758-a42e837954e7", "created_at": "2021-12-14T09:45:19.236421+00:00", "updated_at": null, "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/9040ed44-8d3d-43c0-8758-a42e837954e7", "rel": "self"}, {"href": "http://localhost/allocations/9040ed44-8d3d-43c0-8758-a42e837954e7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path delete /v1/allocations/0f38b343-5211-4eba-9b1a-1564aaeb5067 DELETE: /v1/allocations/0f38b343-5211-4eba-9b1a-1564aaeb5067 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b4982f61-dc91-4077-88f5-d462a0a5c665 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b4982f61-dc91-4077-88f5-d462a0a5c665 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/23e6837f-fc6c-4fcc-9897-f3af950d3c2a PATCH: /v1/allocations/23e6837f-fc6c-4fcc-9897-f3af950d3c2a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c256b53e-7016-4601-a2d3-86335cdead48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "created_at": "2021-12-14T09:45:19.713255+00:00", "updated_at": "2021-12-14T09:45:19.826992+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/23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "rel": "self"}, {"href": "http://localhost/allocations/23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c256b53e-7016-4601-a2d3-86335cdead48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "created_at": "2021-12-14T09:45:19.713255+00:00", "updated_at": "2021-12-14T09:45:19.826992+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/23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "rel": "self"}, {"href": "http://localhost/allocations/23e6837f-fc6c-4fcc-9897-f3af950d3c2a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} 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-cbc662ee-7b51-4570-b1f2-e0f96734662b X-Openstack-Ironic-Api-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: 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f, 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881\", \"debuginfo\": null}"} ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cbc662ee-7b51-4570-b1f2-e0f96734662b X-Openstack-Ironic-Api-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: 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f, 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/cf1d9875-b0d7-4d2f-a59f-d070194d1769 PATCH: /v1/allocations/cf1d9875-b0d7-4d2f-a59f-d070194d1769 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1c7d4ce3-dc15-4b39-92dc-93bfac38de39 X-Openstack-Ironic-Api-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 cf1d9875-b0d7-4d2f-a59f-d070194d1769 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1c7d4ce3-dc15-4b39-92dc-93bfac38de39 X-Openstack-Ironic-Api-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 cf1d9875-b0d7-4d2f-a59f-d070194d1769 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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00333_third_party_admin_cannot_delete_allocation [0.194063s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00334_owner_reader_cannot_get_deploy_templates [0.112783s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.165729s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.085729s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00338_owner_reader_cannot_access_chassis [0.093261s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_volume_volume_target_id_patch_observer [0.194130s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.101769s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00340_third_party_admin_cannot_access_chassis [0.135523s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.164511s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_nodes_volume_connectors_get_admin [0.151529s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.117983s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00345_node_history_get_entry_admin [0.169405s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.116820s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_nodes_volume_targets_get_admin [0.153863s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.198724s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.103249s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.163620s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.110940s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.171900s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_states_console_get_admin [0.081353s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.075207s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_nodes_volume_targets_get_observer [0.256787s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ad773c32-7ca6-400c-9b65-999731b6a813 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ad773c32-7ca6-400c-9b65-999731b6a813 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fef4a70f-d6a7-47d6-a322-408cc8b156c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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-fef4a70f-d6a7-47d6-a322-408cc8b156c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-da78d2ad-f0ee-4a4f-a2d7-0a21ed92bbf9 X-Openstack-Ironic-Api-Maximum-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-da78d2ad-f0ee-4a4f-a2d7-0a21ed92bbf9 X-Openstack-Ironic-Api-Maximum-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-6c40e99c-5407-412d-aad1-553667fe9aa6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5ccff2cc-125b-443d-b790-56be0c5859e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-664f88e2-8f4c-4cf4-bbb1-a367ada81bfd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f26a8e2f-19f8-4a1a-bff0-efd142f9e924 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a82456f5-2bc1-4d6e-8494-b1598aeb9a7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5243e7ce-7445-4d23-8e67-f7beed12250f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ebfda56d-4834-49e3-bb62-939a0fe5d910 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f6d37171-ebf4-4e43-8724-9abe7b831df1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-eda9e37c-d0d3-4d83-8f0d-ed932f13a910 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-77873aa3-07a1-493d-afae-012e947b4892 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9ee40617-a2a8-4095-b2d2-40f971d92923 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.077873s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.070439s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.184928s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.083932s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.128146s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.125614s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.224833s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cfc5406f-2d80-47c6-9828-5204d71c67c1 X-Openstack-Ironic-Api-Maximum-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-cfc5406f-2d80-47c6-9828-5204d71c67c1 X-Openstack-Ironic-Api-Maximum-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/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-81719e81-0848-425b-80f6-462025851ad6 X-Openstack-Ironic-Api-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-81719e81-0848-425b-80f6-462025851ad6 X-Openstack-Ironic-Api-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-566165a7-e97b-4653-8b9b-4bd501b3f91e X-Openstack-Ironic-Api-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-566165a7-e97b-4653-8b9b-4bd501b3f91e X-Openstack-Ironic-Api-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-6f8f3b72-5611-421d-a9dc-884effd81a36 X-Openstack-Ironic-Api-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-6f8f3b72-5611-421d-a9dc-884effd81a36 X-Openstack-Ironic-Api-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/5e6ced83-db12-4dbb-a6e0-6302b7c58ef6 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5e6ced83-db12-4dbb-a6e0-6302b7c58ef6 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e73c25e4-bd18-4221-bfd6-317b84b291ef X-Openstack-Ironic-Api-Maximum-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-e73c25e4-bd18-4221-bfd6-317b84b291ef X-Openstack-Ironic-Api-Maximum-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-db269ab9-08c6-417c-bb8a-51b73d0f0a79 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-98ed485a-cf95-4bd5-b0ed-bdf8796ec696 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4abbc9f8-127c-45bb-82db-f2de7f3c95ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-85e1d7f2-410a-481a-8cd3-db806cda33a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-daa977f6-b1d4-49a5-a2a2-533909e3d1cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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.112014s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_get_admin [0.170672s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.188619s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_delete_admin [0.093307s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.223862s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.113667s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.096728s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.153013s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_get_admin [0.700756s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_get_member [0.068907s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.101805s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_vifs_post_admin [0.090723s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_vifs_post_member [0.079678s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_driver_name_get_observer [0.217286s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.267633s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_get_observer [0.092213s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_post_member [0.080993s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.389864s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_post_observer [0.103807s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.282466s] ... ok 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-088fa6ba-a604-4b48-8095-6c972bbbda91 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-617eade8-f0b4-48a0-b0fb-d71a2ae83139 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-65323bbe-31ca-49fb-8f3a-785ee46a9279 X-Openstack-Ironic-Api-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-8b8c8d96-22dc-4ad5-a436-09fce2cb396b X-Openstack-Ironic-Api-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 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-713efcba-64f9-4c7c-b430-044775f858c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-fdcb6276-bb4b-4d4c-8635-94a38fd70a58 X-Openstack-Ironic-Api-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-93898be4-9c51-4b03-a591-1f0087fe8271 X-Openstack-Ironic-Api-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-ecff0808-c9f8-416d-b519-abbd268682c8 X-Openstack-Ironic-Api-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/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-b96d4d47-5477-47c4-8ac2-b4e8c10f978d X-Openstack-Ironic-Api-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-48bcd2cc-2b5c-4d5c-a953-277c970c329e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-38a5e28e-2f20-41ed-9479-7fa7bcde00fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7f98f866-b084-4364-b3bb-dac3004c0e43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-96587868-5caf-4cf8-94c5-06ac3bac7071 X-Openstack-Ironic-Api-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-495ac6de-976b-4c31-a46d-762c2a020c3b X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_methods_get_member [0.285723s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.282016s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.220356s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_drivers_vendor_passthru_put_admin [0.258486s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.337004s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_get_observer [0.141601s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.161640s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_drivers_vendor_passthru_put_member [0.200731s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.246988s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_detail_get_admin [0.171108s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.181820s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_drivers_vendor_passthru_put_observer [0.159411s] ... ok 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-1100d434-644a-4188-9509-f603a7ec4e02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e59d165c-b309-428b-8182-877e93cba31a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b97bf693-b203-4d4c-bf61-4c99774412b2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-53e782f7-aee6-49fa-a6a8-5f8c29754b82 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-837f1051-4fd5-4fb3-9865-d263dda9a9e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-084fd530-923d-457a-9847-6958dca143b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a5aa2f4e-9637-42c2-ad4d-e9960df90f70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a35256ea-2743-4739-8409-fc64d523cc6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1d990c38-2976-43a7-8b53-fdcd6b3dbf95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c64b600c-f85a-47ca-a044-31db53a492cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e61d7155-a2b0-450c-80ba-3cdb5e61b5c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-6886d89d-2be6-4834-b037-785c8a01e750 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-992fcda6-c154-4cba-af4e-de79bdb61116 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-35f859ea-fff1-41b7-8981-be5ba51770a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9a4468fe-4b40-4f9d-8d63-b11136eabea2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_detail_get_member [0.107885s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_provision_put_member [0.120703s] ... ok 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-548d1ee5-67f0-4f8d-8c5d-5a926f432ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-59695d15-7b72-4bb9-af90-dd02ee2dd20f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3ec64a42-71fe-4263-a082-f390fe47c161 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f01d860c-9026-4af1-9838-24aae6f0bf47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e8c10d87-5ddc-4f90-b820-768c130f7817 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-50359312-c618-4910-a4f1-5fae6dc23f0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-721654ac-838f-47e8-9256-2e7e5626fc32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a1cf8a07-7cd6-4fc7-be9d-c00e48aa8e78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-77d461c2-742c-4a4d-9899-cdfb0e2abb66 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-70d90fd2-d6be-466b-b752-a78062cd3d34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e601ab04-7c02-454c-8883-0065cb0ec092 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1d3b67f8-9fdd-4857-8af5-446e5fc19ce6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8d29c82a-9f24-4072-a3c5-d3c0a943a50c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.180854s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_nodes_bios_bios_setting_get_member [0.195808s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_detail_get_observer [0.196598s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00064_nodes_states_console_put_admin [0.124852s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_put_admin [0.179322s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_get_observer [0.159056s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_conductors_hostname_get_admin [0.199505s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_states_console_put_member [0.204586s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.206699s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_ports_port_id_patch_admin [0.190513s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_get_observer [0.236942s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.227873s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.230548s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_ports_port_id_patch_observer [0.175645s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_get_admin [0.144684s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.116710s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_ports_port_id_delete_observer [0.090639s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_get_observer [0.214771s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_nodes_ports_get_observer [0.111079s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_get_member [0.198033s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_get_member [0.214132s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_vifs_post_observer [0.192555s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.133107s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_post_observer [0.155970s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_portgroups_ports_get_admin [0.084586s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88a77ada-3461-43d8-b1a6-1996da3ab90e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-24c56a4f-7af6-4f0a-a2f8-484c3f4cbb02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9bbd0031-cfd6-4392-a0eb-03ad5891352b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8f938148-2866-46f3-9ae4-b52edba9f6d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7241e729-ee64-4f0d-90e0-7a3724e00558 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e214290a-78bb-48bc-8f90-b91924336b0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-099714c4-c8d0-4540-8e35-db517a577e5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-43c25791-09f5-449c-9f24-21786e3b5e3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4f61b1a3-b06d-40a2-ab95-31a1655a75dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5d1d72e9-ff0b-415e-82e2-8d87f4afaa59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-fb23d57d-7db2-495b-af10-dc46b4116dd9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-87e028bc-f168-4356-8e89-ea8ba9d23109 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-266fc1ea-b0be-45d2-be47-e4fc68a6cd98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a265900d-d8f6-4b05-96ca-3dda5a3440f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_get_observer [0.248778s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.196118s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_get_member [0.123999s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_put_member [0.103882s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_get_observer [0.217094s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.095619s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_delete_member [0.061058s] ... ok {1} 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. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.074235s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.107028s] ... ok {1} 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. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_deploy_templates_deploy_template_id_patch_member [0.173373s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.093883s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.121211s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.075191s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_deploy_templates_deploy_template_id_patch_observer [0.118367s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_get_member [0.133841s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_targets_post_member [0.123477s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.123804s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.072575s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.069494s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3fe709e9-dd30-48d6-8a7c-30cae7a6dadb X-Openstack-Ironic-Api-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-82a4234d-6a5b-44f8-8567-b460c091aab5 X-Openstack-Ironic-Api-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-90342f7b-d5b0-4def-9640-4c3659b1ecf2 X-Openstack-Ironic-Api-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-83198bd7-315f-4180-9bc3-319c97e4a449 X-Openstack-Ironic-Api-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/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-412d1bae-5db2-49ec-8628-1cc3f57cca62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-899f6d0a-71bc-4c9e-bbd5-75f0c1b58c8d X-Openstack-Ironic-Api-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-65a53bb8-fe52-41b9-ad62-a628446d5932 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/4adebb19-4f35-45ca-babf-4c127b5e3f44 GET: /v1/allocations/4adebb19-4f35-45ca-babf-4c127b5e3f44 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8c047c71-9a99-4785-b41c-f2572ac68996 X-Openstack-Ironic-Api-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 4adebb19-4f35-45ca-babf-4c127b5e3f44 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/2194a4c6-284d-4cbd-bad6-510790a57eec GET: /v1/allocations/2194a4c6-284d-4cbd-bad6-510790a57eec {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0ac76576-66ec-4563-a09a-9225d7126086 X-Openstack-Ironic-Api-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 2194a4c6-284d-4cbd-bad6-510790a57eec 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-2dd0b540-897a-4b3c-866c-85bc69a1a44a X-Openstack-Ironic-Api-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-636b6776-7085-423a-a2db-a77f860fffe1 X-Openstack-Ironic-Api-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/d864d1ce-a5bf-44da-95e6-ccc20810a4a9 PATCH: /v1/deploy_templates/d864d1ce-a5bf-44da-95e6-ccc20810a4a9 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4713a6b6-338a-4af0-89a0-c7dbe0aae953 X-Openstack-Ironic-Api-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/f5b55fec-dc3a-4c3f-b2ac-52e368c21d3f PATCH: /v1/deploy_templates/f5b55fec-dc3a-4c3f-b2ac-52e368c21d3f [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b419cee8-b217-4912-836c-45c4a7399a11 X-Openstack-Ironic-Api-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 GET: /v1/chassis {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_get_admin [0.114359s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_post_admin [0.137734s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-104dc2a2-c747-40b3-a368-4bc263ba2599 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-6917d70d-776d-4e9b-b23a-814ea9618eb9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1fb2849a-a077-4e2a-b2ed-baba741d6ebf X-Openstack-Ironic-Api-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-d9507ea4-c1fb-49c2-9ca2-ad27ab0e2253 X-Openstack-Ironic-Api-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-08fbc6da-517b-49a9-aa5e-0dd53a056004 X-Openstack-Ironic-Api-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-36b03878-2d20-4a0f-9925-0369fda67469 X-Openstack-Ironic-Api-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-3d60ab65-2a27-469f-97ef-dbe8d68238a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-84278e2f-9fb6-4504-a3f8-93fcb3069056 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7da389c3-5312-4402-b6ec-0a6946ceee10 X-Openstack-Ironic-Api-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-42281834-d8eb-4250-a64d-83e4d3b2ef5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-abecf2b3-165d-455f-8029-54e744e2e465 X-Openstack-Ironic-Api-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-679e42c6-72c9-43ea-b391-71be93b00310 X-Openstack-Ironic-Api-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-b975df1c-2fb7-40b7-9290-1be11c29ad6d X-Openstack-Ironic-Api-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-7fd46125-7365-4c37-9414-029995b3ee12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e4728093-487b-44e1-9f26-2a5f57fa540f X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.110896s] ... 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. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_get_admin [0.184764s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_detail_get_admin [0.144239s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.094059s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_get_admin [0.074574s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_detail_get_observer [0.061560s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00296_chassis_chassis_id_patch_observer [0.150066s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.070853s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_detail_get_member [0.185336s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_get_observer [0.178992s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.076967s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00297_chassis_chassis_id_delete_admin [0.149825s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.128484s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.098751s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_properties_get_admin [0.150912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00299_chassis_chassis_id_delete_observer [0.096390s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.083563s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.126918s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.143450s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.073721s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00301_node_history_get_member [0.194036s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a009ef79-61f7-4c5d-9b2b-4d040ee9d1e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e0c88078-4ccd-44e9-91a3-fcc2b2d72391 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5e721dd6-01a7-4e38-8b99-80094ece1054 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f5911e10-674b-4a83-b0b2-db036b77b52a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-20024bba-6878-41d7-b2e3-21e2213048cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0222c37a-c0d2-4a2c-b5f1-70f6bb69ef78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1ad303a2-f408-4bfd-99be-6bc731a02156 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b0d721a2-1820-4ad1-80a9-18433a22ceaf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-31211138-8fe7-4094-853b-5074754e8765 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-be54be7a-62d7-4193-aa76-e4b759919284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-f0474382-1935-474c-b388-f497e8603a11 X-Openstack-Ironic-Api-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-5c70b498-9bb5-4cf7-acf5-bca9fa2e39f8 X-Openstack-Ironic-Api-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-7dd62d5e-9c4f-416d-b4b3-62e9749386c4 X-Openstack-Ironic-Api-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-80a9bbce-0789-4998-8e1b-19d61e387f45 X-Openstack-Ironic-Api-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_nodes_portgroups_get_member [0.115722s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.083539s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_get_member [0.195829s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.126681s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00303_node_history_get_entry_admin [0.157007s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_post_admin [0.101331s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_get_admin [0.065875s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.117323s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.113662s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_get_member [0.087249s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.083097s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.071943s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_post_member [0.311196s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_nodes_ports_get_member [0.080297s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.123612s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.103454s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.087592s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a849f23c-e0b1-4bbe-86d2-1debc75891e6 X-Openstack-Ironic-Api-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-4b8f25cf-751c-4fa1-97e5-835d9bf11e01 X-Openstack-Ironic-Api-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-89ab8f10-981f-4f6c-8f42-1d2a9c1f01bd X-Openstack-Ironic-Api-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-241c3715-7f20-4f2b-90a9-7a25ca033a1b X-Openstack-Ironic-Api-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-b2be5b8b-21b0-4b6d-bc17-6d1a1464c719 X-Openstack-Ironic-Api-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-a48fb645-faf5-4c80-a798-ea74ef5305c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/d2ee37b3-8b77-4052-a130-1972a67d9525 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d2ee37b3-8b77-4052-a130-1972a67d9525 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b327eae7-6339-43d6-9487-90621069e894 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1e95d55f-91ad-463a-a2c5-72fbb1d08c0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1e95d55f-91ad-463a-a2c5-72fbb1d08c0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb5ee683-0c8b-4ee7-9ab4-2348e4d7a1cf 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": null, "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-cb5ee683-0c8b-4ee7-9ab4-2348e4d7a1cf 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": null, "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-5b4e8a8e-a97b-4de0-9b51-3cb860d026a1 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": "2021-12-14T09:45:25.920819+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": "2021-12-14T09:45:25.923308+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": [], "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": "47254707-a22d-48dc-a8e8-e393a70f00ae", "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": "2021-12-14T09:45:25.946654+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.151812s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ffd6898-68ce-471b-8331-bfdc44e04a89 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-571baee7-9fd1-4d14-bc55-414a916a32b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-dae9c37b-792d-4b7a-ac8c-79bb49d7917b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3d2383d7-ea0f-4430-801d-6c0f752597a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-929b806d-ce56-47d7-8c46-07005cf14a66 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4e8eec0b-ffd7-4769-b1b1-2d05680c2b79 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c6b58a5b-9cce-4d55-b20c-c9fcfc7adee5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-57cbd2b2-8112-4eda-aa38-3ef5704397f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9ca042e3-496d-488b-8e22-12b5f6a353b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-08e6880c-f81a-4567-a3d7-8f646932bb19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-79663b3a-9ca0-41a4-94cf-c3deafba7641 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-db6e69b3-5e60-45b7-9388-a368cf919915 X-Openstack-Ironic-Api-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-cbaed323-2a1e-4dfa-9d66-fcd7f49a9aba X-Openstack-Ironic-Api-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-e56c6e91-c44b-4c8f-b45a-a563baa71cb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-15c700ab-ff6a-429a-8646-0289db2be435 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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'} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_post_observer [0.257857s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_get_admin [0.166656s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b4e8a8e-a97b-4de0-9b51-3cb860d026a1 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": "2021-12-14T09:45:25.920819+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": "2021-12-14T09:45:25.923308+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": [], "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": "47254707-a22d-48dc-a8e8-e393a70f00ae", "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": "2021-12-14T09:45:25.946654+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"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38052f1f-f234-40c4-8549-25d5eb1d2f52 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": "2021-12-14T09:45:26.109200+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": "2021-12-14T09:45:26.138750+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": [], "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": "55d17e37-a125-479d-a4ff-06c7b29e01ac", "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": "2021-12-14T09:45:26.176639+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_00012_nodes_detail_get_member [0.214647s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_ports_port_id_delete_member [0.215879s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_get_observer [0.185939s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_nodes_bios_get_admin [0.317181s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_connectors_get_admin [0.112850s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.127010s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38052f1f-f234-40c4-8549-25d5eb1d2f52 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": "2021-12-14T09:45:26.109200+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": "2021-12-14T09:45:26.138750+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": [], "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": "55d17e37-a125-479d-a4ff-06c7b29e01ac", "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": "2021-12-14T09:45:26.176639+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"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-237d874a-bd53-407c-ac23-07f755a2eff9 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": "2021-12-14T09:45:26.383131+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": "2021-12-14T09:45:26.406759+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": [], "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": "3c1bae0a-a044-46c2-b129-a30902e5899b", "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": "2021-12-14T09:45:26.459876+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_00013_nodes_detail_get_reader [0.290942s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_connectors_post_member [0.180388s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_conductors_get_member [0.116994s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_portgroups_ports_get_observer [0.392451s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-237d874a-bd53-407c-ac23-07f755a2eff9 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": "2021-12-14T09:45:26.383131+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": "2021-12-14T09:45:26.406759+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": [], "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": "3c1bae0a-a044-46c2-b129-a30902e5899b", "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": "2021-12-14T09:45:26.459876+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_00016_nodes_node_ident_get_reader [0.157769s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.129454s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.165161s] ... ok 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-c6b82f0a-bff2-41c4-8f59-36865a64735e X-Openstack-Ironic-Api-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/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-10e6c2d7-1a1b-4224-9fc7-aa9fef3972bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d5c0d4a9-7577-4798-a05f-31735df03b76 X-Openstack-Ironic-Api-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-3b7a67c3-056c-4511-ae2e-d81a6225914f X-Openstack-Ironic-Api-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-db86eb28-3444-4147-8eba-f9ee9c246131 X-Openstack-Ironic-Api-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-a3d6d892-a4ef-4ee1-92d2-4e0874a13c7d X-Openstack-Ironic-Api-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?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-12eec581-3ebf-4aeb-9672-90ae39c40cc9 X-Openstack-Ironic-Api-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-880ea7ad-c9d1-4675-97fb-5ec9caa4a817 X-Openstack-Ironic-Api-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-3d9ef783-3c54-474c-ae17-493046cbea86 X-Openstack-Ironic-Api-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-9cbf36c4-0904-4ea2-a3f2-2800531120e2 X-Openstack-Ironic-Api-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-96ccdb43-5531-44ea-89c0-5af0b86c051b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-bdd1a537-abca-4b46-bb3e-fae01f0a738a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-da48f0e5-704d-40fa-8141-7218a08bf6d4 X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.268781s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_conductors_hostname_get_admin [0.153502s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00170_volume_connectors_get_member [0.082806s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.142085s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_conductors_hostname_get_observer [0.127696s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_connectors_get_observer [0.093261s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.107912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.232085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_connectors_post_admin [0.090054s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4784b201-fb9c-4758-9024-d6d16a4a4b0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1997b59d-51b5-4e11-9e21-0da21b79cfb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e8623204-01c5-4ad5-b328-f6f9543b2c20 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e937c1de-e174-4335-a701-3f28afd3aa7f X-Openstack-Ironic-Api-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-d38ad1a9-0b89-40c7-913b-9daa48069b2c X-Openstack-Ironic-Api-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-495c5bf5-ad7a-4dff-8730-883010456e6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-fd9c6668-7c76-4431-91d8-e142f429eef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9e418765-3f60-4da5-ba67-1b793b1b5b34 X-Openstack-Ironic-Api-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-dce1fca0-06f1-4ab0-95d2-54b07442ee92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-35c4d297-8d1f-4137-8063-deb8b7a4dc53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1584fd89-5be8-4752-96e8-64f6d211fc8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e08fe434-9eaf-4682-bd75-484c28472e4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-38f43f2e-6e47-42a5-aedc-152a4eb8a391 X-Openstack-Ironic-Api-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-565c73d2-cec7-4011-b897-dce078a26948 X-Openstack-Ironic-Api-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/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-8ae63c1b-e775-4bfc-9012-9db728c23708 X-Openstack-Ironic-Api-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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.095220s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_connectors_post_observer [0.101202s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_get_admin [0.130335s] ... 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-ee47d87c-9aed-420c-a679-42328869be0e 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": "2021-12-14T09:45:26.575317+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-ee47d87c-9aed-420c-a679-42328869be0e 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": "2021-12-14T09:45:26.575317+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-3c33d6cd-1b38-41cc-807e-547b7b4d18f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3c33d6cd-1b38-41cc-807e-547b7b4d18f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d159d97e-d8b6-4526-a376-bafc66a71a23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d159d97e-d8b6-4526-a376-bafc66a71a23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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'}}] {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.209323s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_get_admin [0.444460s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_get_member [0.104434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.097225s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_get_observer [0.083967s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.122718s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.318440s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.067444s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_targets_get_admin [0.080953s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.170316s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.123372s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_properties_get_member [0.128026s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_targets_get_member [0.156713s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_nodes_allocation_delete_member [0.204801s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_targets_get_observer [0.062124s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.145840s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.314708s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_targets_post_admin [0.096566s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_post_member [0.148206s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.079153s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.154292s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.086208s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_post_observer [0.102498s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.096803s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.172294s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.099741s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_get_admin [0.184502s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.364980s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.172609s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.098779s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_detail_get_member [0.163976s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fa03624e-e844-4770-80dd-a92bac861446 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fa03624e-e844-4770-80dd-a92bac861446 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ae80a164-4bf2-42be-a8bc-1922279c1b46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ae80a164-4bf2-42be-a8bc-1922279c1b46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4f420ab8-f9a1-411a-8f05-f58f36d08d25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4f420ab8-f9a1-411a-8f05-f58f36d08d25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-be04f517-b502-4439-80d6-e37fb3238669 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-be04f517-b502-4439-80d6-e37fb3238669 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-40a6061f-7d28-43a5-9460-1a72faa4b512 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-40a6061f-7d28-43a5-9460-1a72faa4b512 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f476ff47-2b0a-4c09-b96a-1f07f3e553dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f476ff47-2b0a-4c09-b96a-1f07f3e553dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-86cf1127-52c4-41a0-94bd-4649a84a9d61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-86cf1127-52c4-41a0-94bd-4649a84a9d61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f35394ec-80f0-46be-9b2f-007834a4d38b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f35394ec-80f0-46be-9b2f-007834a4d38b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.124431s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.099608s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.151675s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6794e69d-253a-4d02-bda3-45f4bac597b2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-33d8a992-da7d-44fc-baa5-ce455048029c X-Openstack-Ironic-Api-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-02be07e1-9ec2-43e1-a086-b8c3429deadd X-Openstack-Ironic-Api-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-87c55560-7c31-4002-8d6b-962cda8ce40f X-Openstack-Ironic-Api-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 GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-74c2809d-6370-49d4-8857-971c61db49cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4f31faa0-0ab1-4707-899e-8ba27fca48c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-02056b4e-5378-478a-ac16-4e9e599938e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a01f2dc5-18c9-4eaa-8364-cbc1edba563b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-804ea996-ed30-4003-a8f1-7b41601ef5fa X-Openstack-Ironic-Api-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-be3dfa13-2565-4c9e-8e75-746e0372dde6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f15cb535-859c-46c1-b763-29cb93ad347b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4f5ac2b4-9049-4614-9c26-da0ac7cf2d9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5b4a9d20-3c58-4b5f-a22e-7a08887a0ab3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3082d5ca-e27f-40e5-9309-c3a292e49e52 X-Openstack-Ironic-Api-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-65a28ebb-25c6-4c7e-aad2-f2b1f3ad79b4 X-Openstack-Ironic-Api-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.136630s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.131366s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.106156s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_secure_boot_put_admin [0.131260s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.198824s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00302_node_history_get_observer [0.117967s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_secure_boot_put_member [0.103733s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.122770s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_nodes_bios_get_member [0.294581s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_raid_put_admin [0.118697s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.296061s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.177013s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_states_console_put_admin [0.156930s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_get_admin [0.112635s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_conductors_get_admin [0.128715s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7305fce9-63e0-4251-b0ff-ce2a45054fe8 X-Openstack-Ironic-Api-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-3d6f8e5a-181a-4a43-a50d-fa72223a24d5 X-Openstack-Ironic-Api-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-f282afa5-7920-41bf-b4dd-2be789b8b214 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9e49b7b-d8f0-4321-9021-949d6ae6d956 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/05e09863-2dd0-4800-a230-60bff54b1f2e GET: /v1/allocations/05e09863-2dd0-4800-a230-60bff54b1f2e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bf6ede42-9593-4f3a-8a17-bd08b6273e82 X-Openstack-Ironic-Api-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 05e09863-2dd0-4800-a230-60bff54b1f2e 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-42759bb0-faf7-4ca2-af0c-b4f2b8abbfa1 X-Openstack-Ironic-Api-Maximum-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/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e74d3229-eb1d-421f-ac52-ca150796007b X-Openstack-Ironic-Api-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 post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e8823e78-62a7-4f5f-90d8-8f1887272265 X-Openstack-Ironic-Api-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-a49801a6-cbc6-4cb3-af82-715520ac3c0d X-Openstack-Ironic-Api-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-27ce2e1d-5e16-4c9d-983c-ca20c24a19ff X-Openstack-Ironic-Api-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-b56bf0cc-0c4b-4600-a8a7-a6379d4b25bf X-Openstack-Ironic-Api-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-528454d7-8285-49ed-86db-a329fc627090 X-Openstack-Ironic-Api-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-b5b03d73-c4dc-4573-bcb8-b336d965d815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4a9c272c-8d93-4f68-a877-62779075cbea X-Openstack-Ironic-Api-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'} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.281556s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_states_console_put_member [0.155101s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.154102s] ... ok {0} 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. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_get_member [0.208806s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.073602s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.081990s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.101964s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1709fa7a-e039-4212-81bd-1896ae1b0c84 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-1709fa7a-e039-4212-81bd-1896ae1b0c84 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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1e4b60e-c1aa-461d-af4f-357563d96312 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-b1e4b60e-c1aa-461d-af4f-357563d96312 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-f719e751-2a2e-433d-8c46-68d38a9741ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f719e751-2a2e-433d-8c46-68d38a9741ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c2be3978-3d71-4b27-b99e-052fb929cb4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c2be3978-3d71-4b27-b99e-052fb929cb4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f4bf2c68-0cfb-4be0-bfbe-edba50056dcd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f4bf2c68-0cfb-4be0-bfbe-edba50056dcd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-692c8b63-a18d-4328-8eaf-d1bc2e5459bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-692c8b63-a18d-4328-8eaf-d1bc2e5459bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cd0fb7fc-4e55-4112-8d04-806cfdfd6c3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-cd0fb7fc-4e55-4112-8d04-806cfdfd6c3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-517d438d-7149-4d4b-8e7d-15d1b17f9546 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-517d438d-7149-4d4b-8e7d-15d1b17f9546 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_get_reader [0.226280s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.154394s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_vendor_passthru_put_admin [0.119374s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.096400s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00212_drivers_driver_name_get_member [0.232365s] ... ok 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-5f156d22-c7c8-4890-82a8-7cf29f4e44ad X-Openstack-Ironic-Api-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-a155a538-6912-4572-994a-d941aeadaf1b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fcffb2af-3453-4ed3-87ad-43236b9c509a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a57e39a5-5733-4c1b-ba09-59ecaad97a2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-29e2eec7-c3a7-4e88-a3ba-88d525535375 X-Openstack-Ironic-Api-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-f6243712-d980-40b8-a168-2d8a8c33232e X-Openstack-Ironic-Api-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-e325d890-f877-42e9-8e44-3810f5d55413 X-Openstack-Ironic-Api-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/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-87c961e9-8bfc-4085-bff7-a48237c01110 X-Openstack-Ironic-Api-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/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e86fe5fe-dfc5-4f0c-930e-0eee322e509a X-Openstack-Ironic-Api-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-54463357-493b-4ae2-bef5-3d00e9b79068 X-Openstack-Ironic-Api-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-bbf8d2b7-86be-4b4e-b4a1-375654953bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-551e9c75-27af-4796-a26f-7ca33a31b342 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b4ed10b0-896f-4e5f-b7f9-f3d04dcfc38f X-Openstack-Ironic-Api-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/26e99cf4-e58b-414c-9ae8-b8b4279be847 GET: /v1/allocations/26e99cf4-e58b-414c-9ae8-b8b4279be847 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f2967d3a-d5b0-45b2-bda1-848b3457acda X-Openstack-Ironic-Api-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 26e99cf4-e58b-414c-9ae8-b8b4279be847 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.272242s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.140962s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_vendor_passthru_put_member [0.192271s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.194860s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.133186s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_vendor_passthru_put_reader [0.099084s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.109899s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.098686s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00034_nodes_management_boot_device_put_observer [0.087914s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.087580s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_nodes_allocation_get_member [0.201245s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.071144s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00081_nodes_vendor_passthru_delete_admin [0.218057s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_nodes_bios_get_observer [0.142473s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.147956s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.195741s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.124217s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.088607s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.178130s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_get_admin [0.275782s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.096680s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_post_admin [0.117887s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_post_observer [0.152593s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_put_admin [0.155956s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_secure_boot_put_member [0.129910s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_get_member [0.100649s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_get_observer [0.066971s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_traits_trait_put_admin [0.109663s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_secure_boot_put_observer [0.098396s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.174622s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_detail_get_admin [0.112958s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-51c15cb1-714f-4a9a-8c21-f3162550c7b8 X-Openstack-Ironic-Api-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-baf2908e-a31c-4726-89d6-91c188944dfb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-22e14213-df44-481f-bc27-541cf33de865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d10958ce-c168-4bd0-a550-904f37492a4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e18a343e-86f8-4fcc-9464-8a55523a891b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f98dcf53-428d-40b5-bbef-5c9bb09ca7a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-993d77db-bab5-4c82-b9e0-7ce61729d817 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5f8e99a2-2cb9-47de-ae3f-1f204bee9e1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ec54caab-ca34-44a1-b478-c66616dac3d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-2e3eaa28-b7bd-4631-a18e-e1dfe02e7e0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-9278fecb-e1ee-41c0-8cc7-43f4e2b50acc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-acf40661-ebb7-4345-ba6f-8b948089fa6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a6dec78c-1b0e-4c19-abba-cb4a2cd718ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-8b5399c9-4301-456a-9be0-a84c4c7499ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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'} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_provision_put_member [0.130175s] ... ok 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-28949b74-87e0-4797-b3b7-c771a97d92a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-28949b74-87e0-4797-b3b7-c771a97d92a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2843bada-a576-4258-ade7-3909ba07ad61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-2843bada-a576-4258-ade7-3909ba07ad61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-78724a31-6709-4484-897f-859cbbf00c22 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-78724a31-6709-4484-897f-859cbbf00c22 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2bee82b2-5411-4cc2-9649-2c53916f22c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2bee82b2-5411-4cc2-9649-2c53916f22c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a860da22-ff5c-4f3e-9783-20a7764e9d8c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a860da22-ff5c-4f3e-9783-20a7764e9d8c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7da80175-2f5c-42b4-a1ea-68e0f49d18f2 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-7da80175-2f5c-42b4-a1ea-68e0f49d18f2 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-f3eac0f9-0a35-43b7-bc0f-503531879671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f3eac0f9-0a35-43b7-bc0f-503531879671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-550f0440-1673-4db7-89b9-bacc4dde139e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-550f0440-1673-4db7-89b9-bacc4dde139e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00095_nodes_traits_trait_put_reader [0.220217s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_provision_put_observer [0.093597s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a978accc-e159-4d0d-a354-b8fd12457f8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-305ea96f-095e-4e7b-9a23-32c5db8563e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f424c157-ff54-4f20-8cde-9499c110fd83 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e8e0a45c-9ae5-4bdc-9d72-bf6d5b89e80e X-Openstack-Ironic-Api-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-d526c136-698f-4313-904c-3538f231cbf1 X-Openstack-Ironic-Api-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-11908229-b51e-4aed-b31a-4d396911ef50 X-Openstack-Ironic-Api-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-cbba8d1c-61e6-4656-8835-d25a626b15ee X-Openstack-Ironic-Api-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?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-197b78fb-f318-415f-b197-a985910b54f4 X-Openstack-Ironic-Api-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-1ef7048c-4b05-4323-b6d6-f9928d405589 X-Openstack-Ironic-Api-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-5ac89f7f-1874-4476-b502-e423575e5ffe X-Openstack-Ironic-Api-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-c3fed2f4-db71-46a7-9b64-4ad7d50e5a07 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-00878769-0183-4903-a083-6b3234644159 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd390301-7a6b-4c91-9e2b-8951bc4edbce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/1fa7acfd-92b4-41a2-8c8e-bd3a3b17ead0 GET: /v1/allocations/1fa7acfd-92b4-41a2-8c8e-bd3a3b17ead0 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d6a506fd-b3e7-4ae3-aa5e-e111dc815f2e X-Openstack-Ironic-Api-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 1fa7acfd-92b4-41a2-8c8e-bd3a3b17ead0 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/83173008-9146-478c-a9f6-9d9ee249971d PATCH: /v1/allocations/83173008-9146-478c-a9f6-9d9ee249971d [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.160227s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_get_admin [0.092805s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_states_console_get_admin [0.096261s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_nodes_allocation_get_admin [0.166380s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_vifs_post_admin [0.073037s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_states_console_get_member [0.098824s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_nodes_allocation_get_observer [0.102061s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_vifs_node_vif_ident_delete_admin [0.096890s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_post_member [0.071965s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.485894s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_methods_get_admin [0.164637s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_get_member [0.103728s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_get_reader [0.122028s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_detail_get_admin [0.071360s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.107990s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.207080s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_methods_get_observer [0.218755s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.103277s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.101584s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_get_observer [0.098935s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0a163870-d232-49dc-8f96-abc61de2a472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-0a163870-d232-49dc-8f96-abc61de2a472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e6eaadc7-f330-46a5-ab00-e3d9826b22b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e6eaadc7-f330-46a5-ab00-e3d9826b22b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-80c3e078-8448-4b6b-8712-6ffbd3a7b99c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-80c3e078-8448-4b6b-8712-6ffbd3a7b99c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-83d1e6b1-35d1-4970-ba62-b23f18d1538e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-83d1e6b1-35d1-4970-ba62-b23f18d1538e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-7601efcd-ef74-4bad-89b4-11e0f490fedd 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-7601efcd-ef74-4bad-89b4-11e0f490fedd 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f75a0b9-4344-4eb0-baaa-63f620686cff 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": "2021-12-14T09:45:31.484584+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-1f75a0b9-4344-4eb0-baaa-63f620686cff 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": "2021-12-14T09:45:31.484584+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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_get_member [0.141660s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_detail_get_observer [0.112625s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.127335s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_vendor_passthru_delete_member [0.135499s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.091013s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.095015s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.190122s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00082_nodes_traits_get_admin [0.187230s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.087315s] ... ok API ACL Testing Path patch /v1/allocations/df14296c-951f-4fc0-ab74-fbda66e5b931 PATCH: /v1/allocations/df14296c-951f-4fc0-ab74-fbda66e5b931 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-672c2ad2-886b-4319-9a63-9f577b682ac0 X-Openstack-Ironic-Api-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 df14296c-951f-4fc0-ab74-fbda66e5b931 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/49a6a80f-19f1-46c0-8270-2f6c7e6e33b7 DELETE: /v1/allocations/49a6a80f-19f1-46c0-8270-2f6c7e6e33b7 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-327b48f1-4b8a-4271-bed6-5f7d7309149f X-Openstack-Ironic-Api-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 49a6a80f-19f1-46c0-8270-2f6c7e6e33b7 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-7229525d-c826-414b-acd9-892b69f34fce X-Openstack-Ironic-Api-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-7b778020-d1bf-47ac-a3c3-ef0637030148 X-Openstack-Ironic-Api-Maximum-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/cf33c6aa-cdff-4c8b-9e62-7a189c5301a4 GET: /v1/deploy_templates/cf33c6aa-cdff-4c8b-9e62-7a189c5301a4 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4bb55601-9e87-4a53-98b2-ec273c5cd1c2 X-Openstack-Ironic-Api-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-eefe1828-1ebe-47f9-b6e7-ea1b24b72d6a X-Openstack-Ironic-Api-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-e7d69ed1-7fc8-4cc9-8fb7-e7586dca16ec X-Openstack-Ironic-Api-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-72575258-5c67-43e9-a81b-bc0b5bc2f9f2 X-Openstack-Ironic-Api-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-c1b7ec17-7bd0-4a19-8151-2a7cab22b186 X-Openstack-Ironic-Api-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 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-961c3cc1-9f9b-45eb-b7ae-a063b21d047e X-Openstack-Ironic-Api-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-f1127e23-f031-45b1-9c69-15718407bfb4 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-f1127e23-f031-45b1-9c69-15718407bfb4 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-0046f682-888b-4e99-ad87-951383ae9b71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c8da4f75-6844-4b53-b946-c78cba4b64b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2908b18a-44c1-40fe-be6b-5d47c83e920e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_00015_nodes_node_ident_get_member [0.076386s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00301_node_history_get_member [0.082597s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_delete_admin [0.171573s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.138076s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00304_node_history_get_entry_member [0.123830s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00129_portgroups_portgroup_ident_delete_reader [0.586776s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_delete_observer [0.145048s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.112859s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_nodes_portgroups_detail_get_reader [0.115784s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.196473s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_get_member [0.087862s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_get_member [0.119929s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d45bf4d-7f77-4d65-8256-e1707dd51f97 X-Openstack-Ironic-Api-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 83173008-9146-478c-a9f6-9d9ee249971d 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-819afab3-177f-4993-aaf3-a88acd83bb65 X-Openstack-Ironic-Api-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/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-073a448f-0ef7-401f-af3e-e8c6813ed071 X-Openstack-Ironic-Api-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-8fdc3fd6-0248-4429-ae55-ad37b25b6a84 X-Openstack-Ironic-Api-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-934ed8b2-46aa-430c-8f02-246df1403870 X-Openstack-Ironic-Api-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/bfd2ad74-32ca-406b-8cfa-d794a138d250 DELETE: /v1/deploy_templates/bfd2ad74-32ca-406b-8cfa-d794a138d250 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-776ca590-e28a-48bf-80e4-94c67aca32aa X-Openstack-Ironic-Api-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/0d206811-796b-47df-9743-a32b7c6e98ed DELETE: /v1/deploy_templates/0d206811-796b-47df-9743-a32b7c6e98ed GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f2031fa4-4a89-4559-a06c-57155f54f79a X-Openstack-Ironic-Api-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/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-639a7669-7e66-4a74-8cd7-245512f486f6 X-Openstack-Ironic-Api-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-f975914b-b5df-499e-a345-9a63564e410b X-Openstack-Ironic-Api-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-178c0da3-8dbe-4f6f-81b2-0888349863c2 X-Openstack-Ironic-Api-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-0563aa1f-9ee5-4e82-94f7-b0696fcc7e68 X-Openstack-Ironic-Api-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-598244df-f257-4034-b572-921516762802 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/2d9359eb-cecf-4a03-893b-1583c8bd3bfd GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2d9359eb-cecf-4a03-893b-1583c8bd3bfd {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-212de7e8-179d-4b24-b185-eacfb5e096c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-2909147d-ada7-4a35-be56-b648fb23fd34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_vifs_post_admin [0.136730s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.178506s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.206529s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c80c1c6-3d78-4c0e-a380-0d9a6243dd07 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": "2021-12-14T09:45:31.580266+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-6c80c1c6-3d78-4c0e-a380-0d9a6243dd07 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": "2021-12-14T09:45:31.580266+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-1e341671-d418-4fb2-9940-342f0ac03a06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1e341671-d418-4fb2-9940-342f0ac03a06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6bf321e6-4e70-4e93-b2c9-c11e48b0cc20 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": "2021-12-14T09:45:32.323344+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-6bf321e6-4e70-4e93-b2c9-c11e48b0cc20 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": "2021-12-14T09:45:32.323344+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/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-aa48dfb6-dd85-47cc-855f-17658b463a2c 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": "2021-12-14T09:45:32.423162+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-aa48dfb6-dd85-47cc-855f-17658b463a2c 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": "2021-12-14T09:45:32.423162+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-b037fdd5-3d61-4b31-966a-0913b342c401 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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.TestRBACScopedRequests.test_system_scoped_00149_ports_port_id_patch_member [0.110248s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00038_nodes_management_boot_device_supported_get_admin [0.084600s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00155_nodes_ports_get_member [0.110399s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_vifs_post_member [0.156102s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.271196s] ... ok {2} 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. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.119821s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_nodes_ports_get_reader [0.138663s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_boot_mode_put_admin [0.102354s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.137449s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fb047fe6-d572-4400-9074-d37ab59b47d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b94305f2-cfc8-45e9-aaa9-86a193cdf0bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f9dab13b-21d8-4f18-82ce-c554695070ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c027a2f0-f625-4234-8c90-655c03151742 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-400537b8-e1e8-4c35-b184-2c38ca244b4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-708afe79-5618-4464-9425-8fe0e4f278cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7e966378-bd1f-4258-ba49-5baa0bf9c301 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1152861d-8a33-4f32-b7cd-9baf7c3218cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-70e903d1-3187-4670-8d78-606b554d268b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0dcdc3f9-4997-4b9b-9cd8-601ec8d0d463 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3916ae07-e14d-42f0-a3c0-7d1e56d08fb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-fdab226f-1acd-4c65-9808-2085dbbc7778 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-23e35c5d-4f6f-4b89-b23a-9602936c490c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0820f2e0-8ac6-40f6-88db-c80c06ad5633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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_scoped_canary_00114_portgroups_get_observer [0.103620s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_connectors_get_admin [0.149647s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00052_nodes_states_boot_mode_put_observer [0.134791s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.134620s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_get_member [0.185940s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_volume_connector_id_patch_member [0.094948s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.063827s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_targets_get_member [0.125677s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_provision_put_admin [0.192280s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.115746s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_portgroups_portgroup_ident_delete_member [0.228144s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.086789s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b037fdd5-3d61-4b31-966a-0913b342c401 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-503b7b68-4cc4-48c7-a4f6-2a53aad9479f 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-503b7b68-4cc4-48c7-a4f6-2a53aad9479f 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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-795d21ae-628e-4cdf-bc33-d26710f89a87 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-795d21ae-628e-4cdf-bc33-d26710f89a87 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-565e0f70-4b89-4859-8f04-ede49b3c7676 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-565e0f70-4b89-4859-8f04-ede49b3c7676 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-9b5ca863-3c06-4a77-a039-b207f95fc046 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9b5ca863-3c06-4a77-a039-b207f95fc046 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-5f581d5a-73ec-45f0-b1fb-d9fa794b831f 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-5f581d5a-73ec-45f0-b1fb-d9fa794b831f 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: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028 Openstack-Request-Id: req-f774341f-4669-4831-8f79-a4d7a6c42a6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e721d39f-a3bd-4119-987a-377baca8e028", "created_at": "2021-12-14T09:45:33.337245+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028", "rel": "self"}, {"href": "http://localhost/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_targets_post_admin [0.123952s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_raid_put_admin [0.210284s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.138067s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_nodes_portgroups_get_admin [0.195861s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_get_member [0.173821s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_nodes_portgroups_detail_get_member [0.072561s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_raid_put_member [0.137698s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_volume_volume_target_id_patch_reader [0.106740s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.159133s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_states_raid_put_observer [0.103097s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_get_admin [0.127370s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_states_console_put_member [0.088913s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_volume_volume_target_id_delete_reader [0.137807s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_states_console_put_admin [0.111993s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00154_nodes_ports_get_admin [0.108326s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_methods_get_member [0.104692s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_get_member [0.139192s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_nodes_ports_get_member [0.098525s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_get_admin [0.128674s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_post_member [0.113699s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_nodes_ports_detail_get_admin [0.086539s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_nodes_volume_connectors_get_member [0.116368s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-895647b6-6e17-4b1f-8775-329ec49c01e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-bfda22ae-718a-4634-bd99-f79e602edf74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e302d7fb-f728-412e-95e2-4ab9cb4ccc97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ca7c8e47-8814-43f7-90c6-a5e18f4d4dfc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-98c77148-f8f4-434f-8e28-b4e0e07838d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b4ad1510-d7cb-41ac-85a0-7834d9b7c50f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-6818c483-2043-4921-a984-06f79b3fc619 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-156eee7c-c511-4bcb-b7ab-e7477bf0a5e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c5fd0d23-c148-44e8-8bba-06a28d5ab625 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-28b11b0e-fc7a-4829-b455-cbbe92744436 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3d04d39d-99d1-4174-beed-af30fa1ea827 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-103de593-8fe2-47c8-b5f1-387a9f542549 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1ad92bdd-710a-4994-998c-1f11080256fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5cf4365f-1366-43bc-b881-26c122a31d36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 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.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_get_member [0.105539s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_vendor_passthru_put_observer [0.129867s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028 Openstack-Request-Id: req-f774341f-4669-4831-8f79-a4d7a6c42a6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e721d39f-a3bd-4119-987a-377baca8e028", "created_at": "2021-12-14T09:45:33.337245+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028", "rel": "self"}, {"href": "http://localhost/volume/targets/e721d39f-a3bd-4119-987a-377baca8e028", "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-e29b9f30-8077-42a5-9ab3-4ffcaf1ccbf0 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": "2021-12-14T09:45:33.443287+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-e29b9f30-8077-42a5-9ab3-4ffcaf1ccbf0 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": "2021-12-14T09:45:33.443287+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34fe62d1-777d-4f93-9b4e-d74ddba0b26c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-34fe62d1-777d-4f93-9b4e-d74ddba0b26c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f8d77ddd-b1ae-42cb-8bd9-48054cee30ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f8d77ddd-b1ae-42cb-8bd9-48054cee30ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f82fb12d-b087-4355-8d85-ad02dd39ae54 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-f82fb12d-b087-4355-8d85-ad02dd39ae54 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-055285d1-2a03-46c4-a1f1-03ebe7081723 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-055285d1-2a03-46c4-a1f1-03ebe7081723 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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00073_nodes_vendor_passthru_post_admin [0.128208s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_nodes_volume_targets_get_admin [0.100200s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_vendor_passthru_delete_admin [0.087448s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_nodes_volume_targets_get_member [0.117648s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_get_member [0.246268s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_get_member [0.134718s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_get_admin [0.089062s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_connectors_get_observer [0.109849s] ... ok API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb426737-b92a-4955-bfd5-c1b1e8b935f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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 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-0320e629-d653-46ca-aa29-0e384dcb3722 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c0a23fc7-504c-4ce3-880f-e1051d69f662 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-cbedf499-2e59-46b8-a60e-26ae027bc1b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5ad815e1-e772-457a-9a1c-80d8fdd90866 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-79feb25a-2c70-44d7-9623-a2168551c59b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f549c1c6-b35e-40b6-b051-3246dec7cc95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-94b64ede-205d-4ae6-b11d-caa9ab094216 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c1bf4cd0-bfda-4488-ab81-ca3191303af5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-58cf3a9e-3481-4353-9ec1-9bac0d7ccfbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ec8b54cf-0180-4ced-9ce4-bb97028abbed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1233ae94-780c-4054-92eb-c4a99e9133c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-109272f9-ceb9-460d-921e-667cc5616f6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a39dda2a-393b-424f-b6ce-7ca15f7c90be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_vendor_passthru_delete_observer [0.119245s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_get_observer [0.168533s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_get_member [0.149788s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_put_member [0.210928s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_driver_name_get_admin [0.215201s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_put_observer [0.114431s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_get_admin [0.077940s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_get_observer [0.105305s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_driver_name_get_member [0.177298s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_volume_connector_id_patch_admin [0.101814s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_vifs_post_observer [0.125914s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00089_nodes_traits_delete_member [0.173409s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_targets_get_admin [0.089234s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_traits_trait_put_observer [0.077819s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_properties_get_reader [0.188620s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_vifs_node_vif_ident_delete_admin [0.190891s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_traits_trait_delete_admin [0.073236s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d8af578-4e00-4eca-a8f8-3ddf752cc715 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0cfe9b4b-787a-4f84-b2af-b9c0f15a804b X-Openstack-Ironic-Api-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-731d22ab-e6d9-415a-8016-8b0f2441ad77 X-Openstack-Ironic-Api-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-1c2ba84f-8cf4-488f-96f2-6b60a1a87191 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0f41ae60-5262-4876-989d-a5f6b63f5ab9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ea3904b1-ab00-4f95-a0d7-50049f03a2e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-834f7003-f00f-41ba-afa4-73b1cb6f0378 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ccf80f35-2639-45b6-a795-560562716543 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7e7d925c-cc5c-4085-92a3-9b6b0e379fbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f86290e2-38c7-4c76-a75c-b5dcabd2f177 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-db02ec21-952e-4049-b26d-eba3f75a24e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-558a95d8-6e8b-409b-a4d6-27454ede62a3 X-Openstack-Ironic-Api-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-c527c37a-4d96-452d-8cf1-012824798f4d X-Openstack-Ironic-Api-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-686ac63f-9166-4f86-a4f5-c11a067cb334 X-Openstack-Ironic-Api-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-9ef03406-2255-4cfe-ad0d-ec9f2adb6426 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_get_admin [0.112361s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_nodes_management_indicators_get_admin [0.143070s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_traits_trait_delete_member [0.136827s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_post_admin [0.169486s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_volume_volume_target_id_delete_member [0.164149s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00232_drivers_vendor_passthru_delete_reader [0.103381s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_traits_trait_delete_observer [0.132069s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_get_observer [0.139407s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_post_member [0.219913s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_nodes_vifs_node_vif_ident_delete_member [0.140170s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de8317ab-6b2a-45ef-9ddf-a8ca829d9272 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-de8317ab-6b2a-45ef-9ddf-a8ca829d9272 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/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-6cdc943c-e579-49b4-a486-3ccea3b9c670 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-6cdc943c-e579-49b4-a486-3ccea3b9c670 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-8966367a-713d-4e38-a6a4-b28c3acd102c 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-8966367a-713d-4e38-a6a4-b28c3acd102c 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-0a17fbfa-7d4f-4ad3-8cd7-b83d648fc100 X-Openstack-Ironic-Api-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-0a17fbfa-7d4f-4ad3-8cd7-b83d648fc100 X-Openstack-Ironic-Api-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 GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f7816f56-3f60-4d5a-a215-3e0239563669 X-Openstack-Ironic-Api-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-f7816f56-3f60-4d5a-a215-3e0239563669 X-Openstack-Ironic-Api-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-f3a9e88e-5f7e-4e56-9eb9-e60a21ac66f0 X-Openstack-Ironic-Api-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-f3a9e88e-5f7e-4e56-9eb9-e60a21ac66f0 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-744a2cf0-ce02-4904-ab1a-4a6c94bc81bb X-Openstack-Ironic-Api-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-744a2cf0-ce02-4904-ab1a-4a6c94bc81bb X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d50a04a-d6f7-4c20-b8e1-a69db9dbba24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3d50a04a-d6f7-4c20-b8e1-a69db9dbba24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_nodes_bios_get_member [0.121328s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_nodes_bios_bios_setting_get_reader [0.068520s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_post_observer [0.125713s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_nodes_volume_connectors_get_member [0.200205s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_conductors_get_admin [0.099415s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_nodes_vifs_node_vif_ident_delete_observer [0.198072s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_detail_get_member [0.149218s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_nodes_volume_targets_get_member [0.159762s] ... ok {1} 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.TestRBACScopedRequests.test_system_scoped_00243_conductors_hostname_get_member [0.170287s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_portgroups_portgroup_ident_patch_member [0.105649s] ... ok {1} 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. {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_methods_get_admin [0.143488s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_post_admin [0.110294s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_portgroups_portgroup_ident_delete_admin [0.099017s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_get_admin [0.087382s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_nodes_portgroups_detail_get_admin [0.088277s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_get_member [0.068490s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_post_member [0.138796s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_post_admin [0.140278s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_detail_get_admin [0.082099s] ... ok 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-09733370-03c8-4d9c-9e00-5bf3d8a58353 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-136a0e13-2a68-437b-a955-0df67023f73b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d02cae91-523f-498d-9024-27c041f2d0a7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-919a67b4-70a9-4460-a996-1b6668a1b32f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-c81e3ce7-cd09-4496-8779-6f6d8283c727 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f116f87c-ff5e-4db1-89cf-02f25b2bf1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-7a70daf0-3a57-4909-84d7-fda6c38f981b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-333d0b67-605c-48b1-b671-0c2abc4f5c9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-82120c95-129b-4b5e-a8ad-b2cde64aa14d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-059f5a74-78ea-4def-962d-33f505c39245 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-940dd018-0039-44d7-a873-509a4a5017e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-fcf76194-f707-4539-a601-4e0d6dd4ec7c X-Openstack-Ironic-Api-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-05d060d2-f626-47ed-928e-134a13f50d23 X-Openstack-Ironic-Api-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-027d1235-1217-4fbc-9e71-fa51f7faa1ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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'} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_post_member [0.157771s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_detail_get_observer [0.117396s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-805056d6-b6c2-444f-b750-fb1f8c25cfcb 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": "2021-12-14T09:45:35.273503+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-805056d6-b6c2-444f-b750-fb1f8c25cfcb 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": "2021-12-14T09:45:35.273503+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-c049dce6-22bd-4c53-8485-1afef1e63b1c 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": "2021-12-14T09:45:35.344868+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-c049dce6-22bd-4c53-8485-1afef1e63b1c 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": "2021-12-14T09:45:35.344868+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-5dc25a11-7e00-482d-9e22-f39e761f65a2 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-5dc25a11-7e00-482d-9e22-f39e761f65a2 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-0ee01b17-2c02-4543-bb75-c3b82d5872db 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": "2021-12-14T09:45:35.574003+00:00", "updated_at": "2021-12-14T09:45:35.574878+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-0ee01b17-2c02-4543-bb75-c3b82d5872db 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": "2021-12-14T09:45:35.574003+00:00", "updated_at": "2021-12-14T09:45:35.574878+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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-784bd0c7-e9e4-4657-a7e9-9d376acbbcc5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-784bd0c7-e9e4-4657-a7e9-9d376acbbcc5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3d639932-b98b-4686-bcbb-78b8946d722b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3d639932-b98b-4686-bcbb-78b8946d722b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-56c31b32-bb2d-4138-bf24-9cb13a685997 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_post_reader [0.107108s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_get_admin [0.153352s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_get_member [0.146399s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_get_admin [0.178728s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_nodes_bios_get_observer [0.402011s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_get_member [0.185175s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_ports_port_id_patch_member [0.089642s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff822281-a857-463d-ab6d-a1f7e85f4b92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-12d03c1e-45c9-460a-b7f8-e066741b9746 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-3c73d146-5a84-4189-8493-23c4653261ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ef48bd07-4de2-45df-b94d-d2e78fb1e715 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-b0bd3578-d241-4118-869d-d46ec66e967d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d660fa3e-e78b-4d1e-9722-9d84f83131ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-cb1dcf7a-3048-408c-88a4-acb5e6b576e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-70289afa-ba1d-4fa4-a185-1f796225e83e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1e1c661f-6eb1-449e-8400-a6e2f2e25f7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-d6d32473-956f-4192-9f36-6c14fb52027a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4fd4031e-7d45-4058-ba36-1569fa7c6910 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-69b7f1ea-171e-4a5a-88d3-471692b03f68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b83bdec8-2258-459b-9a85-ba441c7768ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-386b15a3-8e9e-40bf-ba31-df57be6a8ef1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7467bd9a-ce47-4948-851f-9d1a6fe50cfb X-Openstack-Ironic-Api-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 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_allocations_allocation_id_patch_reader [0.129730s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_ports_port_id_delete_admin [0.111147s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_get_observer [0.215471s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_allocations_allocation_id_delete_member [0.099362s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_ports_port_id_delete_observer [0.092253s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_portgroups_portgroup_ident_patch_admin [0.146654s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_nodes_ports_get_observer [0.114024s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_portgroups_portgroup_ident_patch_observer [0.069535s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_nodes_allocation_get_reader [0.164919s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_conductors_get_observer [0.432638s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_conductors_hostname_get_member [0.076968s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_nodes_ports_detail_get_member [0.130913s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_nodes_portgroups_detail_get_observer [0.150505s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_portgroups_ports_get_admin [0.118362s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_get_member [0.114226s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-56c31b32-bb2d-4138-bf24-9cb13a685997 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-c607231b-d808-41be-b1a5-5be761992f43 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": "f4e1290c-01ee-4749-b381-f19e9970ea03", "created_at": "2021-12-14T09:45:36.032926+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f4e1290c-01ee-4749-b381-f19e9970ea03", "rel": "self"}, {"href": "http://localhost/allocations/f4e1290c-01ee-4749-b381-f19e9970ea03", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c607231b-d808-41be-b1a5-5be761992f43 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": "f4e1290c-01ee-4749-b381-f19e9970ea03", "created_at": "2021-12-14T09:45:36.032926+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f4e1290c-01ee-4749-b381-f19e9970ea03", "rel": "self"}, {"href": "http://localhost/allocations/f4e1290c-01ee-4749-b381-f19e9970ea03", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd GET: /v1/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34d8b09c-c231-45c6-a2c2-a4a2018c348a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "created_at": "2021-12-14T09:45:36.234119+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "rel": "self"}, {"href": "http://localhost/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34d8b09c-c231-45c6-a2c2-a4a2018c348a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "created_at": "2021-12-14T09:45:36.234119+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "rel": "self"}, {"href": "http://localhost/allocations/d9924c87-c2fc-43e8-989c-6f52a1cf56bd", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/72d09451-5354-4a57-a827-ca63bec36f34 PATCH: /v1/allocations/72d09451-5354-4a57-a827-ca63bec36f34 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4aa4d3c2-7679-44a1-873e-c871d0d1d73a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-4aa4d3c2-7679-44a1-873e-c871d0d1d73a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/53976000-a79e-495c-9f1a-b248743494ca DELETE: /v1/allocations/53976000-a79e-495c-9f1a-b248743494ca GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b63874a4-5371-4c13-a059-bf8a29b399c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b63874a4-5371-4c13-a059-bf8a29b399c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4b74a452-ffdf-49c7-b659-a70323e63abb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b88b0f51-d7c0-482a-94d2-7a0410116b88", "created_at": "2021-12-14T09:45:36.628820+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b88b0f51-d7c0-482a-94d2-7a0410116b88", "rel": "self"}, {"href": "http://localhost/allocations/b88b0f51-d7c0-482a-94d2-7a0410116b88", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4b74a452-ffdf-49c7-b659-a70323e63abb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b88b0f51-d7c0-482a-94d2-7a0410116b88", "created_at": "2021-12-14T09:45:36.628820+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b88b0f51-d7c0-482a-94d2-7a0410116b88", "rel": "self"}, {"href": "http://localhost/allocations/b88b0f51-d7c0-482a-94d2-7a0410116b88", "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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f42753d9-a5e0-4539-98c8-dcfa97889fcf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} 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. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_portgroups_ports_get_member [0.112433s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_nodes_allocation_delete_member [0.137894s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_post_observer [0.091402s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_post_member [0.233810s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_get_observer [0.120397s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_detail_get_admin [0.124399s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_post_reader [0.120962s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_portgroups_ports_get_observer [0.199154s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_nodes_allocation_get_admin [0.170001s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_ports_port_id_patch_admin [0.108973s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_get_member [0.138275s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_portgroups_ports_detail_get_admin [0.155232s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_nodes_allocation_get_observer [0.150152s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_deploy_templates_deploy_template_id_patch_admin [0.082202s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_portgroups_ports_detail_get_observer [0.177560s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00273_deploy_templates_deploy_template_id_get_admin [0.140940s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00276_deploy_templates_deploy_template_id_patch_member [0.178668s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_get_admin [0.071740s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_deploy_templates_deploy_template_id_patch_admin [0.077709s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_get_observer [0.093455s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f42753d9-a5e0-4539-98c8-dcfa97889fcf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12a88911-d8c2-4eeb-9ca0-358fd24a34a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-12a88911-d8c2-4eeb-9ca0-358fd24a34a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-924282af-97d3-41a3-9b09-b2b512ea754a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-924282af-97d3-41a3-9b09-b2b512ea754a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/1a74366d-32dd-4a2d-b898-93f52e7b4f43 GET: /v1/deploy_templates/1a74366d-32dd-4a2d-b898-93f52e7b4f43 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-58286020-3346-4377-9cfe-563534ee3b9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1a74366d-32dd-4a2d-b898-93f52e7b4f43", "created_at": "2021-12-14T09:45:37.310932+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1a74366d-32dd-4a2d-b898-93f52e7b4f43", "rel": "self"}, {"href": "http://localhost/deploy_templates/1a74366d-32dd-4a2d-b898-93f52e7b4f43", "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-58286020-3346-4377-9cfe-563534ee3b9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1a74366d-32dd-4a2d-b898-93f52e7b4f43", "created_at": "2021-12-14T09:45:37.310932+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1a74366d-32dd-4a2d-b898-93f52e7b4f43", "rel": "self"}, {"href": "http://localhost/deploy_templates/1a74366d-32dd-4a2d-b898-93f52e7b4f43", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c PATCH: /v1/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61064ac8-1596-46e0-895c-de3ae2a82da4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "created_at": "2021-12-14T09:45:37.411098+00:00", "updated_at": "2021-12-14T09:45:37.445170+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "rel": "self"}, {"href": "http://localhost/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "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-61064ac8-1596-46e0-895c-de3ae2a82da4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "created_at": "2021-12-14T09:45:37.411098+00:00", "updated_at": "2021-12-14T09:45:37.445170+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "rel": "self"}, {"href": "http://localhost/deploy_templates/78cac1fa-b9a1-439e-a1f9-8abab521fb4c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/f21b2e06-f78c-4be6-b0b0-e01423d6ddd2 PATCH: /v1/deploy_templates/f21b2e06-f78c-4be6-b0b0-e01423d6ddd2 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-19e8b93d-bd94-4b22-a40c-54fe6cf4551e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-19e8b93d-bd94-4b22-a40c-54fe6cf4551e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953 Openstack-Request-Id: req-e8362768-c4e5-4143-83e7-3b29081aea98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9588b395-cab0-4c46-bb15-96f8884ba953", "created_at": "2021-12-14T09:45:37.747806+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953", "rel": "self"}, {"href": "http://localhost/chassis/9588b395-cab0-4c46-bb15-96f8884ba953", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9588b395-cab0-4c46-bb15-96f8884ba953/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_post_admin [0.122001s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-559c4ce4-eecd-4888-aa95-93a00ed6e009 X-Openstack-Ironic-Api-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-7202c99f-8642-42e6-a489-6605ee1c2cfe X-Openstack-Ironic-Api-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-b68486c0-d787-4eda-9ae6-7a903d93eff3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8749d7bd-d4ca-4563-9e00-f1c0899a0cc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-646a0cdc-6db3-4950-b113-a2fb52ee8299 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/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-65eaf6c4-0b24-4017-aa67-8e77cb7c2bac X-Openstack-Ironic-Api-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-396fddc1-8884-4a33-ba84-9d051f7fc868 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-0fb690ee-fb6c-4ebc-9ed6-a2a6f2b2e824 X-Openstack-Ironic-Api-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-791c366a-bf14-43c5-b0fd-d72ceaf51805 X-Openstack-Ironic-Api-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/7efd4b56-6082-4b6b-8fff-69a2b9ca062c GET: /v1/allocations/7efd4b56-6082-4b6b-8fff-69a2b9ca062c {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3266c54f-8cc6-4e8f-8739-fdc225196111 X-Openstack-Ironic-Api-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 7efd4b56-6082-4b6b-8fff-69a2b9ca062c 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-4a3105e6-4696-446c-942f-6bae543022aa X-Openstack-Ironic-Api-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/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-b915c55b-1eaa-463f-96bb-05b23dcfd9c4 X-Openstack-Ironic-Api-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/d23cb730-a39b-4277-aaa3-166236c88d62 GET: /v1/deploy_templates/d23cb730-a39b-4277-aaa3-166236c88d62 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-78778c4d-68aa-4c36-b01e-7181f918fa85 X-Openstack-Ironic-Api-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/4c56492c-391e-4e63-9b61-6aa00452ed05 PATCH: /v1/deploy_templates/4c56492c-391e-4e63-9b61-6aa00452ed05 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-669e229a-b32f-46ac-a835-b63af1a28532 X-Openstack-Ironic-Api-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 delete /v1/deploy_templates/20307198-e218-48ec-8ada-f289cde872b5 DELETE: /v1/deploy_templates/20307198-e218-48ec-8ada-f289cde872b5 {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_deploy_templates_deploy_template_id_delete_observer [0.136210s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_ports_port_id_patch_observer [0.580998s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_post_member [0.114749s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_get_admin [0.204812s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_get_member [0.158877s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f0c152c3-b637-475d-a784-b1700648668a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5df95bd3-a2d8-4f30-82b2-b27660915f99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-63bcf0b7-dca2-4243-875b-d4902d167398 X-Openstack-Ironic-Api-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-5cf89e5d-07fb-442d-b5d2-201059f92d3f X-Openstack-Ironic-Api-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-9a5d186d-e690-418b-905f-a67f6778b075 X-Openstack-Ironic-Api-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-54942459-ed32-4c21-bd03-c02445a35604 X-Openstack-Ironic-Api-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-0daabe3e-e368-46a0-8bb9-4554132264e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-72c5045c-f7f2-4fac-a41d-e6c05e594b53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-4c9e33ea-30d9-432e-b045-b5f6ff7689ff X-Openstack-Ironic-Api-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 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eef0df91-81be-4ccb-a74e-846ab346b8ca X-Openstack-Ironic-Api-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 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e82652f1-6a4f-4827-bde9-1978ddf6b1b4 X-Openstack-Ironic-Api-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-f7a3d039-7420-4316-a9b3-f33845d17461 X-Openstack-Ironic-Api-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-a6380b10-60dd-4af0-9f9e-de8ba8da1513 X-Openstack-Ironic-Api-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-4c72ea58-1ca2-4647-bec8-364ef0146f5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d5a83b75-a14f-417a-86fc-28841b1d8c15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_detail_get_reader [0.151602s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_connectors_get_admin [0.229555s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_connectors_get_member [0.078287s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_connectors_post_observer [0.177995s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_detail_get_admin [0.152178s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_get_member [0.134641s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_ports_port_id_delete_member [0.355501s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_get_member [0.172335s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_get_admin [0.182338s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_nodes_ports_detail_get_observer [0.206740s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00294_chassis_chassis_id_patch_admin [0.112387s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00293_chassis_chassis_id_patch_admin [0.298803s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00295_chassis_chassis_id_patch_member [0.206920s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_portgroups_ports_detail_get_member [0.293136s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_targets_post_member [0.350643s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00300_node_history_get_admin [0.136943s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953 Openstack-Request-Id: req-e8362768-c4e5-4143-83e7-3b29081aea98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9588b395-cab0-4c46-bb15-96f8884ba953", "created_at": "2021-12-14T09:45:37.747806+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953", "rel": "self"}, {"href": "http://localhost/chassis/9588b395-cab0-4c46-bb15-96f8884ba953", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9588b395-cab0-4c46-bb15-96f8884ba953/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9588b395-cab0-4c46-bb15-96f8884ba953/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe501971-abc6-4408-8a5c-fce3cf180eb5 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-fe501971-abc6-4408-8a5c-fce3cf180eb5 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-9a37d809-def5-4264-9d5d-0e5cb2d8a096 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": "2021-12-14T09:45:38.018976+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-9a37d809-def5-4264-9d5d-0e5cb2d8a096 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": "2021-12-14T09:45:38.018976+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-ac006233-55cd-449e-b8b4-44b9fe71e2f2 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": "2021-12-14T09:45:38.163402+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-ac006233-55cd-449e-b8b4-44b9fe71e2f2 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": "2021-12-14T09:45:38.163402+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-204f00a1-a865-43da-8602-b77518b7bc08 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": "2021-12-14T09:45:38.315925+00:00", "updated_at": "2021-12-14T09:45:38.510298+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-204f00a1-a865-43da-8602-b77518b7bc08 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": "2021-12-14T09:45:38.315925+00:00", "updated_at": "2021-12-14T09:45:38.510298+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'}] {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00294_chassis_chassis_id_patch_member [0.281570s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_targets_post_observer [0.159456s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_connectors_post_admin [0.199762s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00296_chassis_chassis_id_delete_admin [0.220332s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00305_node_history_get_entry_observer [0.188390s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_get_member [0.229249s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_volume_connector_id_delete_admin [0.205234s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.103211s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00298_chassis_chassis_id_delete_reader [0.148625s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_volume_volume_target_id_patch_admin [0.135404s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4e7730b7-b01f-4413-9f57-7fda3f9349b7 X-Openstack-Ironic-Api-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-0924d096-58a4-4bf1-9c37-42dfa8b63c35 X-Openstack-Ironic-Api-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-77b5a4ea-59c9-4b62-bdf9-6807fabb5fe1 X-Openstack-Ironic-Api-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-b633826c-79c1-4a96-89c6-57d00f886d9d X-Openstack-Ironic-Api-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-e17db23d-800a-4c33-9978-dc9418cd383d X-Openstack-Ironic-Api-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-bc2c1aba-9a52-451f-92b3-3d3c9833b66c X-Openstack-Ironic-Api-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-5db74ac3-2b25-4f40-bf4b-81a941b01852 X-Openstack-Ironic-Api-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-326415de-86b2-468a-a22f-0a8146fafc9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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/a838f8f9-0c50-4ec4-bf0c-e04adf6e00ae GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a838f8f9-0c50-4ec4-bf0c-e04adf6e00ae {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa84dfa6-cbbe-425d-92ec-160fec8d8a23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-32d7eb4a-5a21-4c92-b501-20ca246024c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-32d7eb4a-5a21-4c92-b501-20ca246024c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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.142054s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00302_node_history_get_entry_admin [0.128089s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00010_nodes_get_other_admin ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00303_node_history_get_entry_member [0.120164s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68b090de-1238-4718-ae53-21b43ddedfa9 X-Openstack-Ironic-Api-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-98288290-8275-4c95-8933-5b4e8f78ad11 X-Openstack-Ironic-Api-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-4e6ca052-0bfb-48b1-8649-cc2733087e92 X-Openstack-Ironic-Api-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-cc2e45a6-7921-47d4-9831-04d018129de9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-85f6aa31-f79c-429f-809e-6f985e05b086 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-314cad19-3f84-4662-a14b-2e153c25ed81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e9bc7608-ba86-44f3-b2cf-b71a664aff1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-29611251-b3b9-4a5f-a0eb-89e7fcb1bcbc X-Openstack-Ironic-Api-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-09699968-7900-47ab-9a18-dfeddda9011e X-Openstack-Ironic-Api-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-8e0fda36-3e23-4a09-a1e9-49a9690922f2 X-Openstack-Ironic-Api-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-1df4ffe7-443b-416b-b0b2-6d06f3a9f6e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-f9486535-efdb-48fb-abf9-6807c052bd67 X-Openstack-Ironic-Api-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-6a22adc2-3a5a-407a-a930-475f6abb502b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-6c86ba94-55bf-4b9f-bb21-cb93677bee30 X-Openstack-Ironic-Api-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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_volume_connector_id_delete_member [0.170811s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_targets_get_member [0.120085s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_volume_volume_target_id_delete_admin [0.178866s] ... ok {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.024248s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.031580s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_get_admin [0.097526s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.051573s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_targets_get_observer [0.140739s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6eeac983-c43a-432a-86e1-3b8dff24ebe6 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": "2021-12-14T09:45:39.200181+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-6eeac983-c43a-432a-86e1-3b8dff24ebe6 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": "2021-12-14T09:45:39.200181+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_00014_nodes_node_ident_get_admin [0.145481s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.066674s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.027102s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.148909s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.041776s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00200_nodes_volume_get_member [0.178568s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_targets_post_admin [0.158375s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9da09b7c-678b-41fa-b4f2-14ab33ea1441 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": "2021-12-14T09:45:38.690850+00:00", "updated_at": "2021-12-14T09:45:38.815917+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-9da09b7c-678b-41fa-b4f2-14ab33ea1441 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": "2021-12-14T09:45:38.690850+00:00", "updated_at": "2021-12-14T09:45:38.815917+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 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-46091082-2a5f-4cdb-97d0-a5bd66496d6a 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-46091082-2a5f-4cdb-97d0-a5bd66496d6a 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-c1246391-7c4e-4854-9511-ddde3762cd78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c1246391-7c4e-4854-9511-ddde3762cd78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/2ea632b9-c87b-4eae-92d9-b75b0b1536a6 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2ea632b9-c87b-4eae-92d9-b75b0b1536a6 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab647d32-7140-48a7-9a29-dfb7866705e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2ea632b9-c87b-4eae-92d9-b75b0b1536a6", "created_at": "2021-12-14T09:45:39.268681+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/2ea632b9-c87b-4eae-92d9-b75b0b1536a6", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab647d32-7140-48a7-9a29-dfb7866705e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2ea632b9-c87b-4eae-92d9-b75b0b1536a6", "created_at": "2021-12-14T09:45:39.268681+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/2ea632b9-c87b-4eae-92d9-b75b0b1536a6", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/13e7b2b3-99c9-4fc3-ad19-44666e0525bb GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/13e7b2b3-99c9-4fc3-ad19-44666e0525bb {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b614a233-0053-47fa-97eb-f433e3a29997 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "13e7b2b3-99c9-4fc3-ad19-44666e0525bb", "created_at": "2021-12-14T09:45:39.359372+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/13e7b2b3-99c9-4fc3-ad19-44666e0525bb", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b614a233-0053-47fa-97eb-f433e3a29997 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "13e7b2b3-99c9-4fc3-ad19-44666e0525bb", "created_at": "2021-12-14T09:45:39.359372+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/13e7b2b3-99c9-4fc3-ad19-44666e0525bb", "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-cbc0ad6c-3e88-44a4-9fd3-9960aee202dd {"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-8f51e1e3-b9e3-4a50-a73f-dbe185a1ba91 {"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-18.3.0.dev130/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-18.3.0.dev130/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\"}"} {3} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.047092s] ... ok {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.042802s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.168659s] ... ok {3} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.076464s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_driver_name_get_admin [0.132504s] ... ok {3} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.029252s] ... ok {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.048942s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fad94037-8040-4a72-880b-a8ca694e09e8 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": "2021-12-14T09:45:39.449273+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-fad94037-8040-4a72-880b-a8ca694e09e8 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": "2021-12-14T09:45:39.449273+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': '/conductor_group', 'value': 'DC04-ROW39'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4aaec2e6-6ee0-4911-b27b-c29d6db15043 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-4aaec2e6-6ee0-4911-b27b-c29d6db15043 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fe181043-3f36-4330-9dcd-6e10dac981aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fe181043-3f36-4330-9dcd-6e10dac981aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.070312s] ... ok {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.050238s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_get_observer [0.236083s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.069288s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_driver_name_get_member [0.188925s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00035_nodes_management_boot_device_put_member [0.165177s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.037454s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.041270s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.024481s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_volume_volume_target_id_patch_member [0.175881s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.049313s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_properties_get_admin [0.150598s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.014012s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.014436s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.159967s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.019619s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.016680s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.046013s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_volume_volume_target_id_delete_observer [0.149315s] ... ok {3} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.018375s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.110101s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49f8c68e-c20e-494f-afdd-cb78c50630e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c1599aef-6e1f-4642-beb2-6cfd2d402d97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9860f154-37e3-4ea4-9ffb-a5ca265e6ebf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-9d42a6de-47ec-4e45-8ef3-daf20f3e9a89 X-Openstack-Ironic-Api-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-be1bd093-42ae-423f-baae-521ddc13ee8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ee2ac6ea-5669-4df3-b7a0-4856b1197940 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-00126794-af1f-4779-9864-74bab56e55a6 X-Openstack-Ironic-Api-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-df73dda7-3b37-40af-9095-0a7019cc0849 X-Openstack-Ironic-Api-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-066acbd5-7c9f-4e5e-9ea3-3c89e7f88b2a X-Openstack-Ironic-Api-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-73d82d62-d4d6-454f-9d82-345fe27506d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40269b92-d4d6-4f0f-a1a0-46adb1d0b954 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-928a2ded-b33b-4b3d-9a79-fa3f668787af X-Openstack-Ironic-Api-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-8f8e01c4-013e-4e63-97a0-50e822243998 X-Openstack-Ironic-Api-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-305a3a27-0eb0-456f-971d-3d6cf01c2295 X-Openstack-Ironic-Api-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_properties_get_observer [0.138602s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.123822s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_nodes_volume_connectors_get_observer [0.177938s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_get_member [0.119667s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00052_nodes_states_boot_mode_put_admin [0.154429s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.387185s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.038717s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_get_observer [0.156044s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_boot_mode_put_member [0.178324s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.130325s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_provision_put_reader [0.094019s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_properties_get_member [0.153409s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_raid_logical_disk_properties_get_member [0.641631s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.113738s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_raid_logical_disk_properties_get_admin [0.136242s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.104404s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88e2c731-4d4e-4158-98b0-a5992f107651 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-88e2c731-4d4e-4158-98b0-a5992f107651 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f24b05a1-a72b-49bf-8e03-8a886e1aec4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f24b05a1-a72b-49bf-8e03-8a886e1aec4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ee8f30a4-7f6b-492e-9bc5-94c39d1ed343 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ee8f30a4-7f6b-492e-9bc5-94c39d1ed343 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-b22d5b52-b9f2-48d1-88df-b4fcbd9ae72a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b22d5b52-b9f2-48d1-88df-b4fcbd9ae72a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0a16e05b-3b13-4003-b212-20df4ccb83f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-0a16e05b-3b13-4003-b212-20df4ccb83f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c52622c1-b0bc-49e3-bb56-fede84b98503 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c52622c1-b0bc-49e3-bb56-fede84b98503 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3ed64f2d-fdb0-40c9-9a6b-09106e33cbc5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3ed64f2d-fdb0-40c9-9a6b-09106e33cbc5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c696b9f2-f16a-4b26-802a-14931ecfff31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c696b9f2-f16a-4b26-802a-14931ecfff31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_states_console_put_reader [0.146165s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_get_admin [0.148448s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_get_member [0.145482s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.118372s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_raid_logical_disk_properties_get_observer [0.134930s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.051392s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_get_member [0.164458s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.049935s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_vendor_passthru_delete_reader [0.141396s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.038829s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.041580s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_delete_member [0.097489s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.036922s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_post_admin [0.177885s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_methods_get_observer [0.244947s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.067910s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_traits_trait_delete_reader [0.086095s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.063819s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.026888s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_get_reader [0.116383s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.031537s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.050853s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ce9e8417-3c0f-4a40-9321-c51bd90633a2 X-Openstack-Ironic-Api-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-23fe9d9e-7c1b-42e4-9f56-a060cbde131d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-927fdd8a-1711-405e-acc8-8548b1a4476e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2511fab2-f516-4fec-9cc7-ebf3f2ed12f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c8a90a89-ed57-45ed-a4ff-a26cbde89b4c X-Openstack-Ironic-Api-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-d802e66d-202a-45a3-a8c2-f7bf57857dc8 X-Openstack-Ironic-Api-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-7c396103-19dd-484d-be77-63c9e8800147 X-Openstack-Ironic-Api-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-976dc879-0434-4328-a85e-547ee1ce7407 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-ab37b1cc-ba02-4b65-96a9-95b063845f11 X-Openstack-Ironic-Api-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-8e239018-caad-4040-9db7-08642248a6ca X-Openstack-Ironic-Api-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-a93633cb-e1a8-4ca9-855e-eb7c086bfb58 X-Openstack-Ironic-Api-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-1da4eb61-309c-4d5c-bf9c-bc326d033eb2 X-Openstack-Ironic-Api-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-f969f7fe-b50a-4ed6-a5ae-4b6dc4f51706 X-Openstack-Ironic-Api-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-f05e4a17-095f-4058-8790-9deeaeb9468c X-Openstack-Ironic-Api-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_get_observer [0.146568s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.069385s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_nodes_vifs_node_vif_ident_delete_reader [0.139263s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_post_member [0.154947s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.047152s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_nodes_bios_get_member [0.143161s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_drivers_vendor_passthru_post_observer [0.144285s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.154184s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_conductors_hostname_get_observer [0.153963s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.063493s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.031507s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_nodes_allocation_get_member [0.113360s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_nodes_bios_get_admin [0.157715s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.076411s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.056263s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.024759s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_nodes_allocation_delete_observer [0.149688s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_get_member [0.215442s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.053932s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_nodes_bios_bios_setting_get_admin [0.162796s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.041831s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.021484s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.022593s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_nodes_bios_bios_setting_get_observer [0.109419s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.024995s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.017462s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_post_admin [0.171140s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_get_admin [0.084722s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_conductors_get_admin [0.158708s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-211dece6-8890-4f7e-a2d6-9d6629ac51e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-211dece6-8890-4f7e-a2d6-9d6629ac51e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-d9e5506f-6ad6-4ad0-b963-708ea21ee376 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d9e5506f-6ad6-4ad0-b963-708ea21ee376 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-cca6dd41-8d4a-43d8-8870-f5f6dd06c5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-cca6dd41-8d4a-43d8-8870-f5f6dd06c5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-8f07b916-2260-4a62-9b54-87d57a4a1d28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8f07b916-2260-4a62-9b54-87d57a4a1d28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a2e2af40-761c-439e-98dd-b957b114d7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-a2e2af40-761c-439e-98dd-b957b114d7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9272163f-76b7-4238-8bd8-a7250dddc5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-9272163f-76b7-4238-8bd8-a7250dddc5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-69e87bd5-1233-4a71-9242-241dbc47e44c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-69e87bd5-1233-4a71-9242-241dbc47e44c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d4bc10-3f79-469a-acd5-f6e473af151b 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-62d4bc10-3f79-469a-acd5-f6e473af151b 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'} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00115_portgroups_post_admin [0.265264s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.169446s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.044607s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_get_reader [0.102747s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00241_conductors_get_member [0.127097s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_get_member [0.182007s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.120449s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.033288s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_deploy_templates_deploy_template_id_delete_member [0.102603s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.023966s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.057464s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_post_admin [0.180938s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_portgroups_portgroup_ident_patch_member [0.208712s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.055265s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.076018s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.049067s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_post_observer [0.205930s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00128_portgroups_portgroup_ident_delete_member [0.222760s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.067654s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.064648s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5cc3d09b-1a6b-49a7-85d4-65752a823c0e X-Openstack-Ironic-Api-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-a42e5777-e4f7-4062-a524-b2bf974638d9 X-Openstack-Ironic-Api-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?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-1853a4e1-2685-4620-8640-b1c0f295ab2b X-Openstack-Ironic-Api-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-b6b93ee4-594b-4a25-bc99-65a4dca43f26 X-Openstack-Ironic-Api-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-f110e6d9-9679-4808-a9a4-e22fb33de584 X-Openstack-Ironic-Api-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-630eb5ac-562e-4197-9b93-e00da83b8dbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-e590cfa6-b1d0-405c-9cca-3bfbe0d9b7c6 X-Openstack-Ironic-Api-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/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-7aac3a69-6f20-428a-8be4-100adedcd0da X-Openstack-Ironic-Api-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-a24cacd5-6bae-497e-8826-d429f28d6d49 X-Openstack-Ironic-Api-Maximum-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-bd8e8376-be13-4bad-9785-a770e72c00f7 X-Openstack-Ironic-Api-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-4ef914db-3b03-4616-881e-19e5ec8b36a8 X-Openstack-Ironic-Api-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/7675d2d2-8087-45cb-b66b-5941e01ed579 GET: /v1/deploy_templates/7675d2d2-8087-45cb-b66b-5941e01ed579 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a12c9401-1e0c-40de-b515-468761bf89be X-Openstack-Ironic-Api-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/741b3652-14bb-4be1-bed0-98e2e8415804 DELETE: /v1/deploy_templates/741b3652-14bb-4be1-bed0-98e2e8415804 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-43e69a4e-1aeb-4a71-9aeb-b02f94889520 X-Openstack-Ironic-Api-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'} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_post_admin [0.214706s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_get_observer [0.151702s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_get_admin [0.179777s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.070483s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_nodes_portgroups_get_member [0.203527s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.047077s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.059832s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.055871s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_detail_get_observer [0.282658s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.078021s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173 Openstack-Request-Id: req-7f1189d1-badc-4d60-a39d-f068427165fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "48b3ef4a-a773-47eb-ab60-2dbeea216173", "created_at": "2021-12-14T09:45:42.517113+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/48b3ef4a-a773-47eb-ab60-2dbeea216173", "rel": "self"}, {"href": "http://localhost/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173/ports", "rel": "self"}, {"href": "http://localhost/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173 Openstack-Request-Id: req-7f1189d1-badc-4d60-a39d-f068427165fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "48b3ef4a-a773-47eb-ab60-2dbeea216173", "created_at": "2021-12-14T09:45:42.517113+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/48b3ef4a-a773-47eb-ab60-2dbeea216173", "rel": "self"}, {"href": "http://localhost/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173/ports", "rel": "self"}, {"href": "http://localhost/portgroups/48b3ef4a-a773-47eb-ab60-2dbeea216173/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-891a3b0b-3daa-424c-a605-7e136d53479a 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": "2021-12-14T09:45:42.575379+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-891a3b0b-3daa-424c-a605-7e136d53479a 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": "2021-12-14T09:45:42.575379+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-e3281ad7-52f1-4559-b786-78ed706eb368 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e3281ad7-52f1-4559-b786-78ed706eb368 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-dc556cc3-b392-4db4-b339-1b6ed11914f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-dc556cc3-b392-4db4-b339-1b6ed11914f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-e72d7548-81c3-4223-9fcc-3bb228c4275c 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-e72d7548-81c3-4223-9fcc-3bb228c4275c 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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_nodes_portgroups_get_reader [0.168812s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_get_member [0.309465s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.110124s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_get_member [0.166473s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.081499s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00302_node_history_get_observer [0.240048s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.085793s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_allocations_allocation_id_patch_admin [0.248352s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_get_reader [0.196407s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.055548s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.058999s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.215666s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.058036s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.058437s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_allocations_allocation_id_patch_member [0.254368s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00139_ports_post_admin [0.210090s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-811bb3d3-e3b1-42fd-b4d8-4958c8e2376d X-Openstack-Ironic-Api-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-f799b348-1cdd-40ca-997e-da460ab0032e X-Openstack-Ironic-Api-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-3bd60f7d-601b-43c9-93fc-01011fd82392 X-Openstack-Ironic-Api-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-5d697f79-5410-4961-b790-c95d21d923d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a8d5a332-4bbd-420a-ba08-848511dfa255 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-a8d5a332-4bbd-420a-ba08-848511dfa255 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-2261c839-b80f-4161-be54-11bd0cd7abfd 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": "2021-12-14T09:45:43.976368+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"}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00006_nodes_get_node_member [0.123404s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.088952s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.040714s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.039103s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_detail_get_member [0.137447s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.062242s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.050673s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.016208s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.017764s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b693a4da-a895-4311-a256-e313ace3bbaa X-Openstack-Ironic-Api-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-35149370-2f0e-4ad9-a9aa-8f8f2090ad03 X-Openstack-Ironic-Api-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-5d929163-74fc-423f-b705-300c06bac35f X-Openstack-Ironic-Api-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-24914f46-e0bb-43a6-b645-13da109ee1a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-2b5b64b0-0a3a-480f-b48a-918112c37ad9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-a010169d-b9af-40d3-b84a-5547b2747993 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-1cbca3cf-4df8-4294-ac7f-9bfb7f168614 X-Openstack-Ironic-Api-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-1b96b28f-c94a-49a4-b80a-82eff420ba59 X-Openstack-Ironic-Api-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-e15e33b5-3e27-445b-9070-8c80a85737bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-57f3ac77-bb07-48d4-bbb0-0acf2615becb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3f577971-2273-4a07-baba-c85657071766 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9abdf55e-3df5-4961-9397-7e4165389e23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/6b382cb8-31d7-464a-935e-a08d80d16dde PATCH: /v1/allocations/6b382cb8-31d7-464a-935e-a08d80d16dde [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dd7272a0-0bf0-423e-8aad-4c868806fa19 X-Openstack-Ironic-Api-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 6b382cb8-31d7-464a-935e-a08d80d16dde could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/adc508ec-a337-4520-ad64-c5374f6d5694 PATCH: /v1/allocations/adc508ec-a337-4520-ad64-c5374f6d5694 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc6a55ae-4c2c-46ba-ab91-9b35a7d739a7 X-Openstack-Ironic-Api-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 adc508ec-a337-4520-ad64-c5374f6d5694 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/a7d784f7-91b7-4d7d-a62c-bf0e63c0fb71 PATCH: /v1/allocations/a7d784f7-91b7-4d7d-a62c-bf0e63c0fb71 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_allocations_allocation_id_patch_observer [0.195023s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.017715s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_allocations_allocation_id_delete_admin [0.129933s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.062660s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2261c839-b80f-4161-be54-11bd0cd7abfd 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": "2021-12-14T09:45:43.976368+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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c3cc5ac-e148-46b5-93d7-8beebf6fc17f 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": "2021-12-14T09:45:44.209472+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"}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00015_nodes_node_ident_get_member [0.188591s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-628e1b52-ad33-4cc7-8b96-23389ca3fddb 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-628e1b52-ad33-4cc7-8b96-23389ca3fddb 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-85f95ac6-8f8e-4a64-8b41-3e6da13576a3 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-85f95ac6-8f8e-4a64-8b41-3e6da13576a3 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 GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12f05547-15a3-49f9-897f-50a6a2351292 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-12f05547-15a3-49f9-897f-50a6a2351292 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-d1443cbf-10c6-482c-9767-34c9ef38d9f9 X-Openstack-Ironic-Api-Maximum-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-d1443cbf-10c6-482c-9767-34c9ef38d9f9 X-Openstack-Ironic-Api-Maximum-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-3e725451-90cf-4542-bf08-3c8d828d168b 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": "2021-12-14T09:45:44.107130+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-3e725451-90cf-4542-bf08-3c8d828d168b 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": "2021-12-14T09:45:44.107130+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/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5d69897-aaa0-409f-84d1-ff4b155b3c9a 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": "2021-12-14T09:45:44.223693+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_00144_ports_detail_get_reader [0.181455s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.075233s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.133459s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_allocations_allocation_id_delete_member [0.142580s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00145_ports_port_id_get_admin [0.178279s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.083509s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_get_reader [0.118808s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_allocations_allocation_id_delete_observer [0.135286s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.106982s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.173719s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.057550s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00148_ports_port_id_patch_admin [0.109709s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.117356s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.104017s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_nodes_allocation_delete_admin [0.168042s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.045287s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_ports_port_id_delete_reader [0.127178s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.134642s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.104346s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_nodes_allocation_delete_member [0.200693s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.070890s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.151276s] ... ok {3} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.063258s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.032034s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_post_member [0.139662s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.034398s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.039809s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5d69897-aaa0-409f-84d1-ff4b155b3c9a 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": "2021-12-14T09:45:44.223693+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-a405c44d-3ece-4f48-a77f-e5d32122bb55 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": "2021-12-14T09:45:44.475804+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-a405c44d-3ece-4f48-a77f-e5d32122bb55 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": "2021-12-14T09:45:44.475804+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-f7be2b45-620e-4011-9ac2-0feaf5a86e4d 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": "2021-12-14T09:45:44.610338+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-f7be2b45-620e-4011-9ac2-0feaf5a86e4d 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": "2021-12-14T09:45:44.610338+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-e9669ec5-a829-451f-9261-17b34153d284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e9669ec5-a829-451f-9261-17b34153d284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-32cb57ea-8d90-40e0-93c8-78657543a855 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-32cb57ea-8d90-40e0-93c8-78657543a855 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0ed9f51-37cc-4621-98ff-7293e4d7770b 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": "2021-12-14T09:45:44.960194+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_00157_nodes_ports_detail_get_admin [0.269771s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c3cc5ac-e148-46b5-93d7-8beebf6fc17f 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": "2021-12-14T09:45:44.209472+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-8f7206f6-c44a-410d-bbe3-9e37c52de3ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8f7206f6-c44a-410d-bbe3-9e37c52de3ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-6ce5df4a-23c7-4e0b-8258-9b4208e11c6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6ce5df4a-23c7-4e0b-8258-9b4208e11c6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f7c8dc1c-8d29-4dd8-a6a2-1fc720a015bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f7c8dc1c-8d29-4dd8-a6a2-1fc720a015bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c010449b-a322-4fea-b7de-1f9d0587b363 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c010449b-a322-4fea-b7de-1f9d0587b363 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-900d04c3-cfde-417e-8a26-338eb5308638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-900d04c3-cfde-417e-8a26-338eb5308638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.103396s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.122041s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.135219s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_nodes_ports_detail_get_reader [0.193992s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.094231s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_get_member [0.242535s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.069750s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_boot_mode_put_reader [0.104619s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.089460s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_get_observer [0.111604s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_portgroups_ports_get_admin [0.161693s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_deploy_templates_deploy_template_id_delete_admin [0.106316s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.133383s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_provision_put_admin [0.168344s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_portgroups_ports_get_reader [0.157164s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_post_observer [0.103663s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.133301s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_raid_put_member [0.132265s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_detail_get_member [0.085301s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_get_observer [0.078843s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_get_admin [0.254518s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00298_chassis_chassis_id_delete_member [0.070024s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_states_console_get_admin [0.196996s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.225692s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.052548s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8c0628de-6958-444a-941f-5ae7a6e37a26 X-Openstack-Ironic-Api-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 a7d784f7-91b7-4d7d-a62c-bf0e63c0fb71 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/bcdea4a8-e5cf-42bb-90b5-6964373d51f3 DELETE: /v1/allocations/bcdea4a8-e5cf-42bb-90b5-6964373d51f3 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e194a896-1c30-4d89-8c10-cd8e2ed27e11 X-Openstack-Ironic-Api-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 bcdea4a8-e5cf-42bb-90b5-6964373d51f3 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f48aaa3d-bbf4-40e0-b324-8d3eff6f4f31 DELETE: /v1/allocations/f48aaa3d-bbf4-40e0-b324-8d3eff6f4f31 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08773860-e158-4138-8889-3748d63f83a2 X-Openstack-Ironic-Api-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 f48aaa3d-bbf4-40e0-b324-8d3eff6f4f31 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/4a7acb3f-d966-4b45-af09-7b3b9ea3236e DELETE: /v1/allocations/4a7acb3f-d966-4b45-af09-7b3b9ea3236e GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1ac091ca-5f96-4b47-be5d-e0b7f51c60ef X-Openstack-Ironic-Api-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 4a7acb3f-d966-4b45-af09-7b3b9ea3236e 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-4f62d912-c88d-4ebe-8a53-dd6d34f4a565 X-Openstack-Ironic-Api-Maximum-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-21882c38-9bb3-407d-8345-bde7cc050e4c X-Openstack-Ironic-Api-Maximum-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-5740a719-1fb6-41dd-8589-ec63d843bbea X-Openstack-Ironic-Api-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-028bc33a-bd9f-4e3b-b254-cf937f03d1fc X-Openstack-Ironic-Api-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/bf462061-4dec-4b26-8071-923d010c7c27 GET: /v1/deploy_templates/bf462061-4dec-4b26-8071-923d010c7c27 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f3c21fbf-b272-421e-9b6e-a96f7c9c28fd X-Openstack-Ironic-Api-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/ff48344e-8813-4b89-8b54-8b8bf46c2dfc DELETE: /v1/deploy_templates/ff48344e-8813-4b89-8b54-8b8bf46c2dfc GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-52bb7a6b-f230-4b76-813e-094adaaf3bda X-Openstack-Ironic-Api-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-4be2587e-1e4d-480d-975e-f17222bebedd X-Openstack-Ironic-Api-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-b26855d1-facb-480a-8491-1795aa43c27c X-Openstack-Ironic-Api-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-f8d4842d-67cb-4568-aa70-d1e0962ce87e X-Openstack-Ironic-Api-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-90829688-f81c-416c-8c8b-775af7e78977 X-Openstack-Ironic-Api-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00304_node_history_get_entry_member [0.068273s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00168_volume_get_reader [0.180813s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00065_nodes_states_console_get_member [0.170798s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.130677s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00007_nodes_get_node_reader [0.117080s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.083782s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.112210s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e5b6daec-40fe-4e7c-95ab-a2c967c6811b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e5b6daec-40fe-4e7c-95ab-a2c967c6811b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e69a1d2d-ae0a-4c2c-b7af-d432aea2aefd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e69a1d2d-ae0a-4c2c-b7af-d432aea2aefd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-6441b887-13fb-4973-a725-2ef5d52b3b17 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-6441b887-13fb-4973-a725-2ef5d52b3b17 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f91239e4-d588-445a-924e-35a840e55131 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-f91239e4-d588-445a-924e-35a840e55131 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-eeb0cb25-995d-4925-a631-f4b30fc36dd7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-eeb0cb25-995d-4925-a631-f4b30fc36dd7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-5932a731-5d76-4a7f-b77c-86bdde4c9362 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-5932a731-5d76-4a7f-b77c-86bdde4c9362 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ece7f4de-0006-4f0d-8d32-3cdbdcd78759 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ece7f4de-0006-4f0d-8d32-3cdbdcd78759 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-21a496e5-e2f9-4b52-bc36-fc572fb2f6fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-21a496e5-e2f9-4b52-bc36-fc572fb2f6fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_methods_get_admin [0.182724s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.110511s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0ed9f51-37cc-4621-98ff-7293e4d7770b 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": "2021-12-14T09:45:44.960194+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-cb317f5d-fcf3-495d-b570-7304ff84178a 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": "2021-12-14T09:45:45.284404+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-cb317f5d-fcf3-495d-b570-7304ff84178a 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": "2021-12-14T09:45:45.284404+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-887d2845-c825-4215-bf5c-8abc6148bcfb 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-887d2845-c825-4215-bf5c-8abc6148bcfb 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 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23f0c9c4-6458-4958-957e-8fa82d5da7b5 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-23f0c9c4-6458-4958-957e-8fa82d5da7b5 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-ff14e71a-4bed-4724-9431-6ddbe2b2d85d 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-ff14e71a-4bed-4724-9431-6ddbe2b2d85d 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-c5449730-eb57-40b0-a06f-26b00205ab0e 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-c5449730-eb57-40b0-a06f-26b00205ab0e 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-5e8283bd-ccf9-4ddd-8fc3-d6436f32d114 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"}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_connectors_get_reader [0.210241s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.083008s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_targets_post_member [0.157084s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_methods_get_reader [0.157279s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f216bfd6-9cc2-471d-b295-722ff2b51054 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f216bfd6-9cc2-471d-b295-722ff2b51054 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62470c62-0f94-4c6a-bed8-8743537f5a48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-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-5f54ee31-05c8-4b02-b6fb-500dda65f59f 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": "2021-12-14T09:45:46.154681+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-5f54ee31-05c8-4b02-b6fb-500dda65f59f 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": "2021-12-14T09:45:46.154681+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-98184774-0a45-4862-af77-e31769506ba7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-98184774-0a45-4862-af77-e31769506ba7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-4d6ad6ee-0779-4219-845f-0ea4ec4cc5e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.140829s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.082080s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_post_admin [0.094608s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00037_nodes_management_boot_device_get_admin [0.178435s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.122211s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_get_member [0.102584s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.042084s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_volume_volume_target_id_get_reader [0.252471s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.153765s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.106104s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_put_reader [0.145297s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.036438s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.025703s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.098009s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_delete_reader [0.090486s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_volume_volume_target_id_patch_admin [0.196059s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.083875s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.114882s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.054140s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_get_admin [0.118333s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_get_member [0.146435s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.070358s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.056470s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.191848s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.126869s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_vifs_post_member [0.214850s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_secure_boot_put_reader [0.098275s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.035991s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.087836s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_provision_put_member [0.107044s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-883cd8b9-5837-433a-9ee3-759a072f7837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-883cd8b9-5837-433a-9ee3-759a072f7837 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fb00c7da-e7f2-456c-b811-252fe48866a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-fb00c7da-e7f2-456c-b811-252fe48866a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-93d53b3d-a7b6-49d9-84de-bcde0ef7dbf8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-93d53b3d-a7b6-49d9-84de-bcde0ef7dbf8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-91f9b1d3-77f8-465b-9c31-add4cb09cc43 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-91f9b1d3-77f8-465b-9c31-add4cb09cc43 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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d4255434-b576-4ff8-9e78-4fad3e2a92d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d4255434-b576-4ff8-9e78-4fad3e2a92d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-921ff75b-3980-4b9c-aa26-8fdef95e18fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-921ff75b-3980-4b9c-aa26-8fdef95e18fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ffc31888-4977-40b0-8acd-76ea7b9bb99e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-ffc31888-4977-40b0-8acd-76ea7b9bb99e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-aa5f8b02-6022-4e53-9a75-35200d675c31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-aa5f8b02-6022-4e53-9a75-35200d675c31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-01a1a848-b5b0-4faf-b63b-8aa43f0d002f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_vifs_post_reader [0.103352s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.101106s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_nodes_vifs_node_vif_ident_delete_member [0.145481s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.048907s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4d6ad6ee-0779-4219-845f-0ea4ec4cc5e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c574af2a-8eda-4819-9ec6-c227f0b94795 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c574af2a-8eda-4819-9ec6-c227f0b94795 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-c8d96281-889d-44f0-8e3a-3a5906ef568f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-c8d96281-889d-44f0-8e3a-3a5906ef568f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d8c645a-35aa-43a4-9b3f-167616560398 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-1d8c645a-35aa-43a4-9b3f-167616560398 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-fd66e009-f7df-4202-9376-fd58080ae679 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-fd66e009-f7df-4202-9376-fd58080ae679 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-26734889-53a2-42f6-b356-c4be97f5e376 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-26734889-53a2-42f6-b356-c4be97f5e376 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-ea0053de-23e5-4e96-9eb2-c5d15ac7e25b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-ea0053de-23e5-4e96-9eb2-c5d15ac7e25b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-597a215f-7d76-44f9-bff2-d91e19df24eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-597a215f-7d76-44f9-bff2-d91e19df24eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-e6064696-7d6a-4653-bf48-8eca51030102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_states_raid_put_reader [0.127228s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.058974s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.052229s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_methods_get_member [0.145197s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_get_admin [0.171625s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.104331s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_get_admin [0.095714s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_methods_get_admin [0.734551s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_post_member [0.110708s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.127962s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_post_member [0.192176s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5e8283bd-ccf9-4ddd-8fc3-d6436f32d114 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/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/573ef08c-2713-4764-8fae-1423ab978a47 Openstack-Request-Id: req-8f5c5aa3-3d1c-4dbb-916e-0a6d307179f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "573ef08c-2713-4764-8fae-1423ab978a47", "created_at": "2021-12-14T09:45:46.496260+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/573ef08c-2713-4764-8fae-1423ab978a47", "rel": "self"}, {"href": "http://localhost/volume/targets/573ef08c-2713-4764-8fae-1423ab978a47", "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/573ef08c-2713-4764-8fae-1423ab978a47 Openstack-Request-Id: req-8f5c5aa3-3d1c-4dbb-916e-0a6d307179f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "573ef08c-2713-4764-8fae-1423ab978a47", "created_at": "2021-12-14T09:45:46.496260+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/573ef08c-2713-4764-8fae-1423ab978a47", "rel": "self"}, {"href": "http://localhost/volume/targets/573ef08c-2713-4764-8fae-1423ab978a47", "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-4314728b-9529-454a-be07-6601f3948980 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": "2021-12-14T09:45:46.636118+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-4314728b-9529-454a-be07-6601f3948980 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": "2021-12-14T09:45:46.636118+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-501eb7d4-a867-4eb6-91b7-8ffacb6d9b65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-501eb7d4-a867-4eb6-91b7-8ffacb6d9b65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b6ea7cde-e6c9-4f75-af35-984ac4987d18 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-b6ea7cde-e6c9-4f75-af35-984ac4987d18 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/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-8336754f-6b8c-4842-aab8-fc65e20a0fec X-Openstack-Ironic-Api-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-8336754f-6b8c-4842-aab8-fc65e20a0fec X-Openstack-Ironic-Api-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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_methods_get_member [0.147349s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_post_reader [0.113716s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_post_reader [0.099725s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.119448s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_get_admin [0.126387s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.060570s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.051464s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_vendor_passthru_delete_member [0.142759s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_get_admin [0.161654s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.070854s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_get_reader [0.069952s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_drivers_vendor_passthru_post_reader [0.164244s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_nodes_portgroups_get_admin [0.089436s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.075604s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_drivers_vendor_passthru_put_admin [0.153429s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.115647s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01a1a848-b5b0-4faf-b63b-8aa43f0d002f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d922fe07-9416-4486-82a4-96d34caae9c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d922fe07-9416-4486-82a4-96d34caae9c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-dfeb60f5-0ea1-47c6-a2b8-cf5d70abe9b1 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-dfeb60f5-0ea1-47c6-a2b8-cf5d70abe9b1 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-28a4f840-d4b4-4cb3-a881-89524162c29a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-28a4f840-d4b4-4cb3-a881-89524162c29a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-28d7d629-e6ab-477b-9817-b493b189a8b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-28d7d629-e6ab-477b-9817-b493b189a8b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/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-ab1ba561-fc21-4b67-873e-b7103e2a34c4 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": "2021-12-14T09:45:48.123560+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-ab1ba561-fc21-4b67-873e-b7103e2a34c4 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": "2021-12-14T09:45:48.123560+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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a626db49-71a9-4f42-9d89-885615d03b7e 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-a626db49-71a9-4f42-9d89-885615d03b7e 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 {} {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.067404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_nodes_portgroups_detail_get_admin [0.123825s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_put_member [0.315733s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00242_conductors_hostname_get_admin [0.159354s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_post_reader [0.154457s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.125863s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_delete_admin [0.078569s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.070883s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.048964s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_ports_port_id_patch_reader [0.167157s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_conductors_hostname_get_reader [0.204314s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e6064696-7d6a-4653-bf48-8eca51030102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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/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-3f6b6251-73b5-4309-82e3-7d2661094323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-3f6b6251-73b5-4309-82e3-7d2661094323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d3a9b8b0-702c-40c8-94d1-a7c900dd756d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-d3a9b8b0-702c-40c8-94d1-a7c900dd756d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9c24561-dcae-410e-841e-430d8556a752 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-e9c24561-dcae-410e-841e-430d8556a752 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d116993b-db68-46de-a279-57d72f89fda3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-d116993b-db68-46de-a279-57d72f89fda3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-52e60eaa-97b4-4da2-bdf9-8da55dccc4f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-52e60eaa-97b4-4da2-bdf9-8da55dccc4f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-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-2cc57e70-4793-4bf3-8d42-ff0dd551b316 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-2cc57e70-4793-4bf3-8d42-ff0dd551b316 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-09ec9f2f-b9c4-4661-970a-d4064527910a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-09ec9f2f-b9c4-4661-970a-d4064527910a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b39afe53-0bf9-4e9e-ac3b-b27caba152e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b39afe53-0bf9-4e9e-ac3b-b27caba152e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_traits_trait_put_member [0.120196s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.129402s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_traits_trait_delete_admin [0.120459s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.050799s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_get_member [0.190944s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_traits_trait_delete_member [0.080468s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_ports_port_id_delete_member [0.291242s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.127296s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00119_portgroups_detail_get_member [0.095522s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.093874s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_nodes_ports_get_admin [0.126863s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_detail_get_reader [0.114145s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.113910s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-945bfa53-b6a5-4f37-ba95-c504fa2a64b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-945bfa53-b6a5-4f37-ba95-c504fa2a64b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ba646784-30ed-4c85-b9b6-2cd762a8e500 X-Openstack-Ironic-Api-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-ba646784-30ed-4c85-b9b6-2cd762a8e500 X-Openstack-Ironic-Api-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-92f4c160-20c6-42fd-9e79-8d404e20c7d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-92f4c160-20c6-42fd-9e79-8d404e20c7d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-89bb4ad4-19be-425b-b5f7-f631ff5112a8 X-Openstack-Ironic-Api-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-89bb4ad4-19be-425b-b5f7-f631ff5112a8 X-Openstack-Ironic-Api-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-ea9934e2-81a3-47fb-860e-6cdf26e41e1e 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": "2021-12-14T09:45:48.443219+00:00", "updated_at": "2021-12-14T09:45:48.444103+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-ea9934e2-81a3-47fb-860e-6cdf26e41e1e 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": "2021-12-14T09:45:48.443219+00:00", "updated_at": "2021-12-14T09:45:48.444103+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/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19ae926d-9c1b-49ff-82c4-167c407f5fd3 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": "2021-12-14T09:45:48.627737+00:00", "updated_at": "2021-12-14T09:45:48.629215+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-19ae926d-9c1b-49ff-82c4-167c407f5fd3 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": "2021-12-14T09:45:48.627737+00:00", "updated_at": "2021-12-14T09:45:48.629215+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-62fde362-8d0b-4ca0-9abc-9a4da0fef9f6 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": "4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "created_at": "2021-12-14T09:45:48.785604+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "rel": "self"}, {"href": "http://localhost/allocations/4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62fde362-8d0b-4ca0-9abc-9a4da0fef9f6 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": "4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "created_at": "2021-12-14T09:45:48.785604+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "rel": "self"}, {"href": "http://localhost/allocations/4c0bd26f-88ac-4cf9-9bd5-940d57b2047c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.044877s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_portgroups_ports_get_member [0.135634s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_get_reader [0.220099s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_get_admin [0.283503s] ... ok 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-da7c743a-15e4-4609-9374-8a89c6ee4088 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-da7c743a-15e4-4609-9374-8a89c6ee4088 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-52e7e0b1-7ebe-4d7c-8e16-684cde84a386 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-52e7e0b1-7ebe-4d7c-8e16-684cde84a386 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f10eec9f-64de-4a79-b167-a95c14dcb67b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-f10eec9f-64de-4a79-b167-a95c14dcb67b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5bf23bc-cd2a-41a6-9fe5-35e98b2d06a5 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": "2021-12-14T09:45:48.995519+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-b5bf23bc-cd2a-41a6-9fe5-35e98b2d06a5 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": "2021-12-14T09:45:48.995519+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-0cd4d62a-24be-4946-a11d-6008a617d8c1 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": "2021-12-14T09:45:49.107331+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-0cd4d62a-24be-4946-a11d-6008a617d8c1 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": "2021-12-14T09:45:49.107331+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-24fde565-38b8-43f7-921d-0d53fa766b6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-24fde565-38b8-43f7-921d-0d53fa766b6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_portgroups_portgroup_ident_patch_admin [0.161236s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_portgroups_portgroup_ident_patch_reader [0.131226s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6464ff84-1faf-497a-b537-99dc75ef264f 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": "2021-12-14T09:45:48.331702+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-6464ff84-1faf-497a-b537-99dc75ef264f 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": "2021-12-14T09:45:48.331702+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-e7a6e2b7-6efe-4e7b-af2d-2298e047a694 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-e7a6e2b7-6efe-4e7b-af2d-2298e047a694 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0c09969e-fc4c-4f3b-9cb9-7dda1c6e2a4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-0c09969e-fc4c-4f3b-9cb9-7dda1c6e2a4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-adc28951-2740-4355-9212-4390543ae4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-adc28951-2740-4355-9212-4390543ae4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1409900a-e141-44c6-a275-5bd0560487e1 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-1409900a-e141-44c6-a275-5bd0560487e1 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-7e73684c-0b60-4ceb-bb41-e2ea20e55b2e 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-7e73684c-0b60-4ceb-bb41-e2ea20e55b2e 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-89fd8db6-6304-4912-b24b-a568f083d18f 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"}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_connectors_get_member [0.144076s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00127_portgroups_portgroup_ident_delete_admin [0.092675s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.287881s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_get_admin [0.137361s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_nodes_portgroups_detail_get_member [0.091486s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_get_reader [0.150302s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_get_admin [0.101803s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_nodes_allocation_get_admin [0.306634s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.193966s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_volume_connector_id_patch_admin [0.094699s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.080931s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_post_member [0.114287s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_nodes_allocation_delete_admin [0.159739s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.115305s] ... ok 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-2c11aacb-09c8-408d-a4cc-03989f01d618 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2c11aacb-09c8-408d-a4cc-03989f01d618 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-8056fce5-f504-4c0a-aaab-5ecfb80f3b69 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-8056fce5-f504-4c0a-aaab-5ecfb80f3b69 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bbb8b761-28dc-4724-ba01-f8cad953c08f 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": "2021-12-14T09:45:49.596248+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-bbb8b761-28dc-4724-ba01-f8cad953c08f 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": "2021-12-14T09:45:49.596248+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-45ccc5dd-6b32-401a-b757-7cfda3b74f1a 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-45ccc5dd-6b32-401a-b757-7cfda3b74f1a 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': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3bf16c53-8e4b-496c-bfa2-e9f58c43c763 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3bf16c53-8e4b-496c-bfa2-e9f58c43c763 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 200 OK Content-Type: application/json Openstack-Request-Id: req-26ee1dc4-bd4f-45a9-be91-43846ca33c82 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": "2021-12-14T09:45:49.928668+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.TestRBACScopedRequests.test_system_scoped_00142_ports_detail_get_admin [0.106939s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_volume_connector_id_patch_reader [0.176150s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.074650s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_ports_port_id_delete_admin [0.100789s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_volume_connector_id_delete_reader [0.115550s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.077857s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_post_admin [0.204677s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_nodes_ports_detail_get_member [0.078880s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.051797s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_portgroups_ports_detail_get_admin [0.141389s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f20ec00c-e87a-4c14-8b45-9bf574836c8f 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": "bb3c6d9e-c594-439d-ac55-be91c5c4f216", "created_at": "2021-12-14T09:45:49.027989+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bb3c6d9e-c594-439d-ac55-be91c5c4f216", "rel": "self"}, {"href": "http://localhost/allocations/bb3c6d9e-c594-439d-ac55-be91c5c4f216", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f20ec00c-e87a-4c14-8b45-9bf574836c8f 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": "bb3c6d9e-c594-439d-ac55-be91c5c4f216", "created_at": "2021-12-14T09:45:49.027989+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bb3c6d9e-c594-439d-ac55-be91c5c4f216", "rel": "self"}, {"href": "http://localhost/allocations/bb3c6d9e-c594-439d-ac55-be91c5c4f216", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66 GET: /v1/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb345e20-ac44-43a4-b94b-a94ae807cc77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "created_at": "2021-12-14T09:45:49.213930+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "rel": "self"}, {"href": "http://localhost/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb345e20-ac44-43a4-b94b-a94ae807cc77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "created_at": "2021-12-14T09:45:49.213930+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "rel": "self"}, {"href": "http://localhost/allocations/e10246b2-9244-49a3-bbdb-4e3b0c98cb66", "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-80c66511-c9e0-471c-9f6c-c77e4e1e9e7b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "25682574-c955-4676-bbcd-fdd11da5b814", "created_at": "2021-12-14T09:45:49.564764+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/25682574-c955-4676-bbcd-fdd11da5b814", "rel": "self"}, {"href": "http://localhost/allocations/25682574-c955-4676-bbcd-fdd11da5b814", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80c66511-c9e0-471c-9f6c-c77e4e1e9e7b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "25682574-c955-4676-bbcd-fdd11da5b814", "created_at": "2021-12-14T09:45:49.564764+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/25682574-c955-4676-bbcd-fdd11da5b814", "rel": "self"}, {"href": "http://localhost/allocations/25682574-c955-4676-bbcd-fdd11da5b814", "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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-38fca8dc-bb6b-46e8-9640-d75ca2d72ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-38fca8dc-bb6b-46e8-9640-d75ca2d72ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/2695e3de-c332-45e6-9cb0-c0cfc13e176a Openstack-Request-Id: req-f30d866b-b6f0-453a-b1fc-3df3f386f741 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2695e3de-c332-45e6-9cb0-c0cfc13e176a", "created_at": "2021-12-14T09:45:50.111612+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2695e3de-c332-45e6-9cb0-c0cfc13e176a", "rel": "self"}, {"href": "http://localhost/deploy_templates/2695e3de-c332-45e6-9cb0-c0cfc13e176a", "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/2695e3de-c332-45e6-9cb0-c0cfc13e176a Openstack-Request-Id: req-f30d866b-b6f0-453a-b1fc-3df3f386f741 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2695e3de-c332-45e6-9cb0-c0cfc13e176a", "created_at": "2021-12-14T09:45:50.111612+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2695e3de-c332-45e6-9cb0-c0cfc13e176a", "rel": "self"}, {"href": "http://localhost/deploy_templates/2695e3de-c332-45e6-9cb0-c0cfc13e176a", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_get_admin [0.132729s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_portgroups_ports_detail_get_member [0.187498s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89fd8db6-6304-4912-b24b-a568f083d18f 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/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-675eef90-0ab0-4f2a-9d27-1043957a6b81 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": "2021-12-14T09:45:49.530242+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-675eef90-0ab0-4f2a-9d27-1043957a6b81 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": "2021-12-14T09:45:49.530242+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 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-a2c0d7ab-df6f-463c-ab1b-19d4d858dc88 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": "2021-12-14T09:45:49.665130+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-a2c0d7ab-df6f-463c-ab1b-19d4d858dc88 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": "2021-12-14T09:45:49.665130+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-301950af-b037-4d42-b7ba-91545172258b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-301950af-b037-4d42-b7ba-91545172258b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88e136c1-44b7-4948-a537-9a5003e5dd56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-88e136c1-44b7-4948-a537-9a5003e5dd56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b2cf4c08-dec7-44a6-827a-7a651586006c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b2cf4c08-dec7-44a6-827a-7a651586006c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b17443ab-5a0c-4979-85ac-83e979a603df 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.TestRBACScopedRequests.test_system_scoped_00186_volume_targets_get_reader [0.363328s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_get_member [0.271067s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_get_admin [0.115281s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_portgroups_ports_detail_get_reader [0.144754s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_get_member [0.063510s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_nodes_volume_connectors_get_admin [0.119068s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_detail_get_member [0.239760s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_nodes_volume_connectors_get_reader [0.105414s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.657775s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26ee1dc4-bd4f-45a9-be91-43846ca33c82 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": "2021-12-14T09:45:49.928668+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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-175684ea-9e58-4995-8c85-3b7fa3a6bb75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-175684ea-9e58-4995-8c85-3b7fa3a6bb75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a854031-a289-42cc-925e-1a57723bfae8 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": "2021-12-14T09:45:50.102776+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-5a854031-a289-42cc-925e-1a57723bfae8 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": "2021-12-14T09:45:50.102776+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/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec21ac47-cfbc-441c-bc5f-c90934fa440c 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-ec21ac47-cfbc-441c-bc5f-c90934fa440c 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-84763ff1-3d3b-46a9-aaa6-e50ee8ccc88b 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-84763ff1-3d3b-46a9-aaa6-e50ee8ccc88b 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-8f4f0a7c-81a9-4e44-9774-a1ddd8d907d2 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-8f4f0a7c-81a9-4e44-9774-a1ddd8d907d2 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-8dd69747-683d-41d9-bd04-42ef25c34d62 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-8dd69747-683d-41d9-bd04-42ef25c34d62 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'} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_connectors_post_admin [0.098235s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.027098s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_connectors_post_member [0.136376s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.089854s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_nodes_volume_targets_get_reader [0.135134s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00295_chassis_chassis_id_patch_reader [0.198261s] ... ok {2} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.018481s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_connectors_post_reader [0.097911s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.120618s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_get_reader [0.114060s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.096556s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_get_member [0.145030s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.078337s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_properties_get_admin [0.116730s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.069760s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.204090s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.073340s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_volume_connector_id_delete_admin [0.176534s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.046888s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b17443ab-5a0c-4979-85ac-83e979a603df 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/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-6d80ce30-c4e4-4c3e-959d-e233e9899d50 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": "2021-12-14T09:45:50.554724+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-6d80ce30-c4e4-4c3e-959d-e233e9899d50 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": "2021-12-14T09:45:50.554724+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/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ebf1fcf-5873-4bc7-9a7d-cc2f4dc5050f 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-6ebf1fcf-5873-4bc7-9a7d-cc2f4dc5050f 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-da18f219-e08a-451a-b6ef-575d62d63b7b 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-da18f219-e08a-451a-b6ef-575d62d63b7b 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-ee13a1a3-2da6-4113-bc2a-c5928a817b38 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-ee13a1a3-2da6-4113-bc2a-c5928a817b38 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-95d630c0-803a-4783-baba-55f490069794 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-95d630c0-803a-4783-baba-55f490069794 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/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0627f9df-97ca-4644-860e-2140817fe765 X-Openstack-Ironic-Api-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-0627f9df-97ca-4644-860e-2140817fe765 X-Openstack-Ironic-Api-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 {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_raid_logical_disk_properties_get_member [0.160908s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.091737s] ... ok {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.042450s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_methods_get_reader [0.093178s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_volume_connector_id_delete_member [0.148879s] ... ok {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.127578s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_post_member [0.101498s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.188298s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_drivers_vendor_passthru_put_member [0.075800s] ... ok {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.118688s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.101968s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/bd1be4aa-9570-4cf7-8da4-ee16012d4369 Openstack-Request-Id: req-5292add5-b699-41b0-83ed-a62e331b966f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "bd1be4aa-9570-4cf7-8da4-ee16012d4369", "created_at": "2021-12-14T09:45:50.770975+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/bd1be4aa-9570-4cf7-8da4-ee16012d4369", "rel": "self"}, {"href": "http://localhost/volume/connectors/bd1be4aa-9570-4cf7-8da4-ee16012d4369", "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/bd1be4aa-9570-4cf7-8da4-ee16012d4369 Openstack-Request-Id: req-5292add5-b699-41b0-83ed-a62e331b966f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "bd1be4aa-9570-4cf7-8da4-ee16012d4369", "created_at": "2021-12-14T09:45:50.770975+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/bd1be4aa-9570-4cf7-8da4-ee16012d4369", "rel": "self"}, {"href": "http://localhost/volume/connectors/bd1be4aa-9570-4cf7-8da4-ee16012d4369", "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/92c2ab3a-c8de-4687-a8b3-aeb65483103e Openstack-Request-Id: req-2e591421-8b87-4efc-9e15-c586865456d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "92c2ab3a-c8de-4687-a8b3-aeb65483103e", "created_at": "2021-12-14T09:45:50.900485+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/92c2ab3a-c8de-4687-a8b3-aeb65483103e", "rel": "self"}, {"href": "http://localhost/volume/connectors/92c2ab3a-c8de-4687-a8b3-aeb65483103e", "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/92c2ab3a-c8de-4687-a8b3-aeb65483103e Openstack-Request-Id: req-2e591421-8b87-4efc-9e15-c586865456d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "92c2ab3a-c8de-4687-a8b3-aeb65483103e", "created_at": "2021-12-14T09:45:50.900485+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/92c2ab3a-c8de-4687-a8b3-aeb65483103e", "rel": "self"}, {"href": "http://localhost/volume/connectors/92c2ab3a-c8de-4687-a8b3-aeb65483103e", "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-882e3174-5906-4624-8837-6da375833ad4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-882e3174-5906-4624-8837-6da375833ad4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5f5abb9e-4571-4d10-956e-eebb7b4e4fd1 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": "2021-12-14T09:45:51.070633+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-5f5abb9e-4571-4d10-956e-eebb7b4e4fd1 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": "2021-12-14T09:45:51.070633+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-3ca446b2-57b4-4cbe-9587-3ad9deb9ed95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-3ca446b2-57b4-4cbe-9587-3ad9deb9ed95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-628c930c-2f67-4c1d-a490-ef67f71f65b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-628c930c-2f67-4c1d-a490-ef67f71f65b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_targets_get_admin [0.166059s] ... ok {2} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.066681s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.057957s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_drivers_vendor_passthru_put_reader [0.122869s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.052818s] ... ok {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.081196s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_targets_post_reader [0.138052s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.026713s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.081979s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.070190s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.035504s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_drivers_vendor_passthru_delete_admin [0.143931s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_volume_volume_target_id_delete_admin [0.108055s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.018752s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.026594s] ... ok Error while running foo: bar. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.064923s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_nodes_bios_bios_setting_get_admin [0.068998s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.042871s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.032695s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00196_volume_volume_target_id_delete_member [0.163348s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.069814s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.070681s] ... ok "max-count" must be a positive value. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.049228s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.049169s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.048924s] ... ok GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc3b1e1e-99c8-460e-83e9-3499ee167858 X-Openstack-Ironic-Api-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-bc3b1e1e-99c8-460e-83e9-3499ee167858 X-Openstack-Ironic-Api-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-3bb4b873-dbca-4ea8-b3c9-f9215b75602b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-3bb4b873-dbca-4ea8-b3c9-f9215b75602b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5ebda491-f2d8-4c55-9fd2-3ddc7b66295c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-5ebda491-f2d8-4c55-9fd2-3ddc7b66295c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2aa90557-ab7b-40f0-b4c0-e13fe8642d8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2aa90557-ab7b-40f0-b4c0-e13fe8642d8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1a87f2c7-c5f5-42c5-9b99-0cead85ddeb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1a87f2c7-c5f5-42c5-9b99-0cead85ddeb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba97e4ab-d646-4215-a36e-c2ffb65f7f7b X-Openstack-Ironic-Api-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-ba97e4ab-d646-4215-a36e-c2ffb65f7f7b X-Openstack-Ironic-Api-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/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-35477e04-7719-4f74-a5e0-01d468002644 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": "2021-12-14T09:45:51.942717+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-35477e04-7719-4f74-a5e0-01d468002644 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": "2021-12-14T09:45:51.942717+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-8cde82be-e759-422e-80d8-48a3ff03baca 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}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00240_conductors_get_member [0.134708s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.064952s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.029441s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_get_reader [0.160454s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.080404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_allocations_allocation_id_patch_member [0.147825s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.051348s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.041398s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_get_member [0.090319s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.028348s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_get_reader [0.131669s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.043583s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.030543s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_driver_name_get_reader [0.133151s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_get_admin [0.071496s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.049281s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_deploy_templates_deploy_template_id_patch_reader [0.114192s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61ee2e0a-31d4-4073-9c38-0bf9467cd7d2 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-61ee2e0a-31d4-4073-9c38-0bf9467cd7d2 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-c3b1c3c0-53d5-48d7-8860-62fc76c2c882 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-c3b1c3c0-53d5-48d7-8860-62fc76c2c882 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 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-b7c326de-d025-4b0e-8cbd-cb08791a7fca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b7c326de-d025-4b0e-8cbd-cb08791a7fca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1ba2201e-2d1c-4f71-981d-1cf23dcbb74e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-1ba2201e-2d1c-4f71-981d-1cf23dcbb74e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27878fb4-1912-473e-a8df-a278f52cd7c9 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-27878fb4-1912-473e-a8df-a278f52cd7c9 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/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e153ee6-176b-40bb-95f4-e3615a825403 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-1e153ee6-176b-40bb-95f4-e3615a825403 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-e95047fa-eef4-400e-b36c-ab1711c49107 X-Openstack-Ironic-Api-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-e95047fa-eef4-400e-b36c-ab1711c49107 X-Openstack-Ironic-Api-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-105b6e03-2cfa-49e7-862d-d5bfc04f8679 X-Openstack-Ironic-Api-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}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00214_drivers_properties_get_member [0.090179s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_post_reader [0.076080s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.128614s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_raid_logical_disk_properties_get_admin [0.141361s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.091679s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8cde82be-e759-422e-80d8-48a3ff03baca 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 patch /v1/allocations/5c89d794-ddf8-4f5d-b28a-0b9a89d07481 PATCH: /v1/allocations/5c89d794-ddf8-4f5d-b28a-0b9a89d07481 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ea2b408-c20f-4449-b316-02e971c0c21d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "created_at": "2021-12-14T09:45:52.202274+00:00", "updated_at": "2021-12-14T09:45:52.246801+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/5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "rel": "self"}, {"href": "http://localhost/allocations/5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ea2b408-c20f-4449-b316-02e971c0c21d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "created_at": "2021-12-14T09:45:52.202274+00:00", "updated_at": "2021-12-14T09:45:52.246801+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/5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "rel": "self"}, {"href": "http://localhost/allocations/5c89d794-ddf8-4f5d-b28a-0b9a89d07481", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e7b87a0-098c-4749-a6c4-1e9ea0dcc59e 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": "49a34b4a-a8ab-44e6-a9df-80fdac89f076", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/49a34b4a-a8ab-44e6-a9df-80fdac89f076", "rel": "self"}, {"href": "http://localhost/deploy_templates/49a34b4a-a8ab-44e6-a9df-80fdac89f076", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e7b87a0-098c-4749-a6c4-1e9ea0dcc59e 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": "49a34b4a-a8ab-44e6-a9df-80fdac89f076", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/49a34b4a-a8ab-44e6-a9df-80fdac89f076", "rel": "self"}, {"href": "http://localhost/deploy_templates/49a34b4a-a8ab-44e6-a9df-80fdac89f076", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52 GET: /v1/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9df40f88-f72c-4d68-84cf-fdf5f64fc11a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "created_at": "2021-12-14T09:45:52.427789+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "rel": "self"}, {"href": "http://localhost/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "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-9df40f88-f72c-4d68-84cf-fdf5f64fc11a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "created_at": "2021-12-14T09:45:52.427789+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "rel": "self"}, {"href": "http://localhost/deploy_templates/ff9a86d5-4ff4-4b79-a494-aad5c1cd3d52", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/9ee31b7d-30ee-4452-8264-341a33aec352 PATCH: /v1/deploy_templates/9ee31b7d-30ee-4452-8264-341a33aec352 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3244482-bc19-4e5c-b9f2-a2c41d3e7325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a3244482-bc19-4e5c-b9f2-a2c41d3e7325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d3a024b7-5b9f-4b73-8cfe-fb09e0eb9c2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-d3a024b7-5b9f-4b73-8cfe-fb09e0eb9c2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2017b021-9912-4eb0-877d-07ed2cd85934 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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_get_member [0.080717s] ... ok {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.542329s] ... ok {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.027574s] ... ok {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.079873s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.027565s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_get_reader [0.136834s] ... ok {3} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.044918s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.043262s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_raid_logical_disk_properties_get_reader [0.207285s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.034379s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_get_admin [0.066954s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.051688s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.119317s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_get_member [0.132500s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.052984s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_get_reader [0.108403s] ... ok {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.071316s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.127752s] ... ok {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.056724s] ... ok {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.014228s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.070395s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00304_node_history_get_entry_reader [0.178210s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_get_reader [0.202963s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.035639s] ... ok {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.061987s] ... ok {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.033169s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.032713s] ... ok {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.032439s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.036662s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.079934s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.024184s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.049769s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.114739s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_nodes_bios_get_admin [0.177098s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.047319s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.109227s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.021025s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.062935s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.027503s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.029433s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.110917s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.040605s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.085598s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_nodes_bios_get_reader [0.196993s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.036915s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.084822s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.119346s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.040169s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.066395s] ... ok {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.023971s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.093023s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.105417s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.093218s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.110377s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2017b021-9912-4eb0-877d-07ed2cd85934 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 GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e6c9c324-aba8-4c7c-b7d0-f8a603b4daf6 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-e6c9c324-aba8-4c7c-b7d0-f8a603b4daf6 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1396df93-0130-4121-862f-2b30ca5a0893 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": "2021-12-14T09:45:52.900392+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-1396df93-0130-4121-862f-2b30ca5a0893 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": "2021-12-14T09:45:52.900392+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-c663210f-64f8-44f5-884d-c7c0f1eeb6b8 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": "2021-12-14T09:45:53.015254+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-c663210f-64f8-44f5-884d-c7c0f1eeb6b8 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": "2021-12-14T09:45:53.015254+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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b3e3efcc-1a63-4b5e-b727-50b0f9533743 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b3e3efcc-1a63-4b5e-b727-50b0f9533743 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a363f45-aa69-4e84-bbd0-318f153290fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b3e3efcc-1a63-4b5e-b727-50b0f9533743", "created_at": "2021-12-14T09:45:53.159567+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/b3e3efcc-1a63-4b5e-b727-50b0f9533743", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a363f45-aa69-4e84-bbd0-318f153290fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b3e3efcc-1a63-4b5e-b727-50b0f9533743", "created_at": "2021-12-14T09:45:53.159567+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/b3e3efcc-1a63-4b5e-b727-50b0f9533743", "rel": "self"}]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-333754b5-19ba-429e-b818-35f35ae038f8 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-77568756-1c18-43a1-b751-f9be600749fc {"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: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-96ae2af4-516d-4e00-aff9-11e0f213d4b7 {"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-9c0a5d2c-e08d-46da-b329-883427bd76b0 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/things/ouch {} {0} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.085318s] ... ok {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.072479s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-105b6e03-2cfa-49e7-862d-d5bfc04f8679 X-Openstack-Ironic-Api-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-98346c2d-f03d-412b-8b2b-861cd2036f31 X-Openstack-Ironic-Api-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-98346c2d-f03d-412b-8b2b-861cd2036f31 X-Openstack-Ironic-Api-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-c44ca427-a7a0-45ab-a1cf-86dbe3f7fd49 X-Openstack-Ironic-Api-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-c44ca427-a7a0-45ab-a1cf-86dbe3f7fd49 X-Openstack-Ironic-Api-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-7abed35f-7f6e-47ba-a865-a151a7858550 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-7abed35f-7f6e-47ba-a865-a151a7858550 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-bb55e512-7653-4b35-929c-28340e43d8fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-bb55e512-7653-4b35-929c-28340e43d8fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-cd456549-4b7e-4766-8712-08f2c8186352 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": "2021-12-14T09:45:53.335703+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-cd456549-4b7e-4766-8712-08f2c8186352 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": "2021-12-14T09:45:53.335703+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-18c8d0b5-80b9-4c2d-8b87-9526c5f5d5af 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": "2021-12-14T09:45:53.533820+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-18c8d0b5-80b9-4c2d-8b87-9526c5f5d5af 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": "2021-12-14T09:45:53.533820+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-e50581c7-d9f2-4dba-a634-9aecd61532e3 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": "2021-12-14T09:45:53.736589+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.202270s] ... ok {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.032301s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.022533s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.045239s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.113743s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_conductors_get_reader [0.157937s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.034233s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.054145s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.053715s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.067570s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.062105s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.133381s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_get_reader [0.188221s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.112610s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.056743s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.044135s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.081107s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.051312s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.027686s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.062167s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.092219s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.042556s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.145831s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.075168s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.052911s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.025364s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_allocations_allocation_id_patch_admin [0.257513s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.047953s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.112797s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.033764s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.053259s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.041484s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.045466s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.158058s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.029439s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.050467s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_allocations_allocation_id_delete_admin [0.230511s] ... ok {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.093892s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.055528s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.046789s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.111441s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.076645s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.213008s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.097256s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_allocations_allocation_id_delete_reader [0.226689s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.164096s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.185208s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.159388s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.110546s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e50581c7-d9f2-4dba-a634-9aecd61532e3 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": "2021-12-14T09:45:53.736589+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-3b8ae719-ab75-4da2-8d73-c127742d64ea 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-3b8ae719-ab75-4da2-8d73-c127742d64ea 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/1cbc8f89-b6db-47b3-8d2a-469dd9879eca GET: /v1/allocations/1cbc8f89-b6db-47b3-8d2a-469dd9879eca {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adac35ce-3599-4157-b864-30bd20b67760 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "created_at": "2021-12-14T09:45:54.019865+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "rel": "self"}, {"href": "http://localhost/allocations/1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adac35ce-3599-4157-b864-30bd20b67760 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "created_at": "2021-12-14T09:45:54.019865+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "rel": "self"}, {"href": "http://localhost/allocations/1cbc8f89-b6db-47b3-8d2a-469dd9879eca", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/e1129202-65ea-474d-8d52-f66f0cfd7714 PATCH: /v1/allocations/e1129202-65ea-474d-8d52-f66f0cfd7714 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a20984f-c3a8-48a9-9832-0e9e44306ce1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e1129202-65ea-474d-8d52-f66f0cfd7714", "created_at": "2021-12-14T09:45:54.198838+00:00", "updated_at": "2021-12-14T09:45:54.376200+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/e1129202-65ea-474d-8d52-f66f0cfd7714", "rel": "self"}, {"href": "http://localhost/allocations/e1129202-65ea-474d-8d52-f66f0cfd7714", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a20984f-c3a8-48a9-9832-0e9e44306ce1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e1129202-65ea-474d-8d52-f66f0cfd7714", "created_at": "2021-12-14T09:45:54.198838+00:00", "updated_at": "2021-12-14T09:45:54.376200+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/e1129202-65ea-474d-8d52-f66f0cfd7714", "rel": "self"}, {"href": "http://localhost/allocations/e1129202-65ea-474d-8d52-f66f0cfd7714", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/d2eafed5-6d92-4b97-8516-b8f53705ab33 DELETE: /v1/allocations/d2eafed5-6d92-4b97-8516-b8f53705ab33 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b1ad8c01-3958-4e10-9612-95fd5e7dda4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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-b1ad8c01-3958-4e10-9612-95fd5e7dda4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-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/295ef0a9-2757-49f9-ab71-84fad99ea4fd DELETE: /v1/allocations/295ef0a9-2757-49f9-ab71-84fad99ea4fd GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-921fe307-a0ba-4c13-855e-f93ab155bcbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-921fe307-a0ba-4c13-855e-f93ab155bcbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_nodes_allocation_get_member [0.211814s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.123981s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.067837s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.114711s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.261813s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.039537s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_nodes_allocation_delete_reader [0.203296s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.097148s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.060613s] ... ok {2} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.076290s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.111516s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.032237s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.031430s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.040925s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_get_reader [0.233534s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.044199s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.081823s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.027438s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.308812s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.035586s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.040677s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.024148s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.125057s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.034301s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_deploy_templates_deploy_template_id_delete_admin [0.199826s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.069134s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.044347s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.179433s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.048648s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.059532s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.023083s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.045301s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.119138s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.054734s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_deploy_templates_deploy_template_id_delete_member [0.182556s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.073435s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.081313s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.141822s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.042636s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.082059s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.054025s] ... ok {0} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.081255s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.037373s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.061301s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.069615s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.043467s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_deploy_templates_deploy_template_id_delete_reader [0.243226s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.076049s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.062438s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.055931s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.090548s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.079722s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.039496s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.037937s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.018066s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_post_member [0.156825s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.025955s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.061080s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.020384s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.078975s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.016693s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.016302s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.036297s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.050420s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.022060s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.162604s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.078356s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.059749s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.059467s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-abdf6b3b-11b6-4042-9c83-8701a234ed6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "04f98385-fd88-4e88-aa70-972b6e1f4041", "created_at": "2021-12-14T09:45:54.913969+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04f98385-fd88-4e88-aa70-972b6e1f4041", "rel": "self"}, {"href": "http://localhost/allocations/04f98385-fd88-4e88-aa70-972b6e1f4041", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-abdf6b3b-11b6-4042-9c83-8701a234ed6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "04f98385-fd88-4e88-aa70-972b6e1f4041", "created_at": "2021-12-14T09:45:54.913969+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04f98385-fd88-4e88-aa70-972b6e1f4041", "rel": "self"}, {"href": "http://localhost/allocations/04f98385-fd88-4e88-aa70-972b6e1f4041", "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-1d6d4e84-36b3-4abc-857c-3b98e2dd75ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-1d6d4e84-36b3-4abc-857c-3b98e2dd75ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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 get /v1/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65 GET: /v1/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ccbf2b9-fcc7-436f-bcaa-98085217ba6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "created_at": "2021-12-14T09:45:55.462379+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "rel": "self"}, {"href": "http://localhost/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "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-6ccbf2b9-fcc7-436f-bcaa-98085217ba6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "created_at": "2021-12-14T09:45:55.462379+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "rel": "self"}, {"href": "http://localhost/deploy_templates/094ea1a6-09dd-4b83-8f3f-c555c7a87e65", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/c6bac24e-6317-4523-8730-bc028da11c19 DELETE: /v1/deploy_templates/c6bac24e-6317-4523-8730-bc028da11c19 GOT:Response: 204 No Content Openstack-Request-Id: req-ed45e983-6089-4181-804a-bc4b683599fc 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-ed45e983-6089-4181-804a-bc4b683599fc 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/deploy_templates/0d27cb8d-04cb-4f47-956a-f0c38adbf89e DELETE: /v1/deploy_templates/0d27cb8d-04cb-4f47-956a-f0c38adbf89e GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-00ddc9ea-83bf-4590-a611-ceae4c174f42 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-00ddc9ea-83bf-4590-a611-ceae4c174f42 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/e6690c52-9ea0-4e94-82db-21a3deb0a9bd DELETE: /v1/deploy_templates/e6690c52-9ea0-4e94-82db-21a3deb0a9bd GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0f35042-aee3-416d-8ab0-377c610aa28b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-b0f35042-aee3-416d-8ab0-377c610aa28b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a8b2f4ef-ec9b-46bc-a9c9-f1b20be05024 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-a8b2f4ef-ec9b-46bc-a9c9-f1b20be05024 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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/detail GET: /v1/chassis/detail {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00287_chassis_detail_get_admin [0.205175s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.024210s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.119286s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.081549s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.172082s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.054965s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.021329s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00297_chassis_chassis_id_delete_member [0.184348s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.040772s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.087262s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000111s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.053747s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.026365s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.030198s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.028347s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.039685s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.047781s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00299_node_history_get_admin [0.208158s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.102143s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.282956s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.043970s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.016052s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.089223s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.141390s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00300_node_history_get_member [0.210207s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.092255s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.051097s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.125999s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.134724s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00301_node_history_get_reader [0.251931s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.028980s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.023629s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.529336s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.041836s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.113173s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.235631s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.047088s] ... ok {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.059678s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.036813s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.060108s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.043380s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.114299s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.060759s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.070704s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.049243s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.110243s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.067642s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.114201s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.103189s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.068633s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.068828s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.058477s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.063266s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.043585s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.112283s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.026296s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.078482s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa16ffa8-7732-4041-8b76-21dc19c931e0 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": "2021-12-14T09:45:56.428278+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-fa16ffa8-7732-4041-8b76-21dc19c931e0 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": "2021-12-14T09:45:56.428278+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-f6365c81-0ba7-40a9-a087-f1bf03974ccf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-f6365c81-0ba7-40a9-a087-f1bf03974ccf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-ac485d84-cfa0-4c32-a142-0161ccd72325 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": "9dda9995-b9d4-4652-8cb7-66ddd63d2b1f", "created_at": "2021-12-14T09:45:56.851723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9dda9995-b9d4-4652-8cb7-66ddd63d2b1f", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac485d84-cfa0-4c32-a142-0161ccd72325 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": "9dda9995-b9d4-4652-8cb7-66ddd63d2b1f", "created_at": "2021-12-14T09:45:56.851723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9dda9995-b9d4-4652-8cb7-66ddd63d2b1f", "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-b831a1fa-242d-40b9-9fc1-dc0607c9c1d5 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": "42d96ba4-0230-46f1-a038-f89eb75a0683", "created_at": "2021-12-14T09:45:57.042522+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/42d96ba4-0230-46f1-a038-f89eb75a0683", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b831a1fa-242d-40b9-9fc1-dc0607c9c1d5 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": "42d96ba4-0230-46f1-a038-f89eb75a0683", "created_at": "2021-12-14T09:45:57.042522+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/42d96ba4-0230-46f1-a038-f89eb75a0683", "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-d47d9d24-9304-4259-8384-b27a30c413b4 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": "57eb7c91-dbd9-4988-9055-b8a820e2bdd9", "created_at": "2021-12-14T09:45:57.264541+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/57eb7c91-dbd9-4988-9055-b8a820e2bdd9", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d47d9d24-9304-4259-8384-b27a30c413b4 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": "57eb7c91-dbd9-4988-9055-b8a820e2bdd9", "created_at": "2021-12-14T09:45:57.264541+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/57eb7c91-dbd9-4988-9055-b8a820e2bdd9", "rel": "self"}]}]} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5967f520-142c-4366-bb62-a7308d852a09 {"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-5c23c4c7-52d5-44bf-9548-79c12c7344b3 {"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-9aca1bf7-1093-48c9-86db-b5b909473e42 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} GET: / {} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.047684s] ... ok {1} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.048839s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.077784s] ... ok {1} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.045464s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.081291s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.146131s] ... ok {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.060563s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.026057s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.044662s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.047515s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.038639s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.088225s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.449411s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.032826s] ... ok {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.090426s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.065065s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.094530s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.108267s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.061568s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.177229s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.034619s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.060296s] ... ok {2} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.095432s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.042500s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.028221s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.174824s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.034267s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.118036s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.048229s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.054252s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.080164s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.017777s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.018496s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.087002s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.061376s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.264711s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.047380s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.079964s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.046268s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.028036s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.038024s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.028474s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.739682s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.075886s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.303905s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.051064s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.309254s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.065292s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.041684s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.094868s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.031999s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.107532s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.024260s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.026695s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.246691s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.032452s] ... ok {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.088804s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.027593s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.034856s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.095753s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.024230s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.080035s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.037208s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.075706s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.019813s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.058525s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.027771s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.063966s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.090693s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.114116s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.085995s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.080007s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.154277s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.072859s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.190836s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.053732s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.099453s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.198821s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.134921s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.071637s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.137837s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.024613s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.177889s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.108464s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.076512s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.072453s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.016107s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.074111s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.019821s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.063534s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.039050s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.027502s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.048740s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.024588s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.032839s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.039422s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.280734s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [1.553929s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.039556s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.074123s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.027902s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.058237s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.090990s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.083386s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.100297s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.041852s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.219104s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.091354s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.087020s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.046530s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.082226s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.088054s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.063004s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49b5cfe7-045b-41c8-9f26-d98eaaa3a23f 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": "eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "rel": "self"}, {"href": "http://localhost/deploy_templates/eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49b5cfe7-045b-41c8-9f26-d98eaaa3a23f 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": "eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "rel": "self"}, {"href": "http://localhost/deploy_templates/eb87aeb9-a5d1-4db4-b3a5-d95c0cc142b6", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d48510bf-f41d-4ac6-89a8-dc8a4409263e 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": "62d1f6a1-c08d-488a-b626-c31f9f041042", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/62d1f6a1-c08d-488a-b626-c31f9f041042", "rel": "self"}, {"href": "http://localhost/deploy_templates/62d1f6a1-c08d-488a-b626-c31f9f041042", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d48510bf-f41d-4ac6-89a8-dc8a4409263e 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": "62d1f6a1-c08d-488a-b626-c31f9f041042", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/62d1f6a1-c08d-488a-b626-c31f9f041042", "rel": "self"}, {"href": "http://localhost/deploy_templates/62d1f6a1-c08d-488a-b626-c31f9f041042", "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-f3b4a6e2-7a1b-4444-acef-55f9224b7960 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": "2021-12-14T09:45:50.688923+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-f3b4a6e2-7a1b-4444-acef-55f9224b7960 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": "2021-12-14T09:45:50.688923+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-2edddb81-2496-4f35-9f84-d85fa482be6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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-2edddb81-2496-4f35-9f84-d85fa482be6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-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}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-99af4479-23a7-47ce-9c5d-7e82ca157271 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/things {'name': 'foo', 'flag': True} GOT:{'foo': True} POST: /v1/things/ {'three': 'three', 'four': 'four', 'five': 'five'} GOT:Response: 201 Created Content-Type: application/json Openstack-Request-Id: req-492ab425-8de0-40c8-bd26-9fa62e0fec2d {"three": "three", "four": "four", "five": "five"} GET: /v1/things/no_content {} GOT:Response: 204 No Content Openstack-Request-Id: req-fc0fd0a7-3a4b-4039-aa0b-6748593fc733 GET: /v1/chassis {} GOT:{'chassis': []} DELETE: /v1/ GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-9519d087-6692-438c-ae1e-1e8bf86853a4 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'}, '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'}]} foo() migrated 15 of 15 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. Malformed option m1.key1value1 {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.062654s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.129347s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.101799s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.129004s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.061562s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.089166s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.038618s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.101104s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.033006s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.020347s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.075099s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.058886s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.047461s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.053694s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.061048s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.041422s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.076684s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.057379s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.090067s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.036525s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.062958s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.039637s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.065690s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.037230s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.025256s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.061233s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.030401s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.162588s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.043637s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.079571s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.027898s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.051758s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.079083s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.063526s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.027931s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.180390s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.054389s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.057987s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.030580s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.052713s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.046706s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.034328s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.018880s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.043124s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.047830s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.063459s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.030257s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.258184s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.031054s] ... ok {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.118511s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.044768s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.040336s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.036420s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [1.269568s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.051298s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.178957s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.094881s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.091815s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.066333s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.088306s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.161725s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.059544s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.172817s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.108228s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.058275s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.053681s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.038421s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.131563s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.088586s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.170187s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.125469s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.044217s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.073686s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.038518s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.067378s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.092783s] ... ok {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.097659s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.098010s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.116234s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.065300s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.165244s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.064719s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.043498s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.174585s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.017290s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.038274s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.173187s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.023471s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.030045s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.028946s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.021939s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.227720s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.153962s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.061196s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.025328s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.030514s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.057914s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.056383s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.066806s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.073097s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.044142s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.017208s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.020473s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.274895s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.095539s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.020735s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.026462s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.042680s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.016090s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.016103s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.016760s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.136909s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.052313s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.074367s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.086878s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.259406s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.097861s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.454425s] ... ok {0} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.029630s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.112549s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.127514s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.052353s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.039580s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.261025s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.043737s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.039023s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.064210s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.102712s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.059401s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.063124s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.029070s] ... ok This is bad/usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.040362s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.045053s] ... ok {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.256024s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.078293s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.025651s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.098061s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.024273s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.039358s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.058563s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.058705s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.203763s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [1.616719s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.055137s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.062962s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.184424s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.033535s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.081763s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.084735s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.067247s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.230852s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.069456s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.170038s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.115637s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.139059s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.041501s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.173143s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.049552s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.056657s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.158434s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.063842s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.038755s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.046115s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.042618s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.026087s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.234097s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.037994s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.023207s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.049745s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.140197s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.097022s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.042299s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.017300s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.525188s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.046464s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.031705s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.018688s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.024510s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.026260s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.102572s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.117163s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.111296s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.083412s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.133118s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.443352s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [1.471237s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.108159s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.159523s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.079884s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.063494s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.103353s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.043959s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.056454s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.056490s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.021971s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.335263s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.091915s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.046164s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.055482s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.040222s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.032305s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.014659s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.069754s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.027822s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.024924s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.019784s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.035196s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.038509s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.099496s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.029552s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.085507s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.121504s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.107283s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.149391s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.017293s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.016745s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.017014s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.026561s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.082554s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.035029s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.054002s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.651110s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.062556s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.083842s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.057934s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.019081s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.133529s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.064803s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [1.141062s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.032499s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.027338s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.029535s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.099885s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.050587s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.149947s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.076853s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.089589s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.068029s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.287255s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.132889s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.075792s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.040547s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.094188s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.024080s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.046092s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.158120s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.066192s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.179133s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.032330s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.101098s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.039489s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.072627s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.053452s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.018787s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.069308s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.023454s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.034725s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.039658s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.228967s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.046607s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.247986s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.099337s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.053760s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.246789s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.059323s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.248221s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.136586s] ... ok {0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.019146s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.038731s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.096732s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.040385s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.062972s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.291499s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.680157s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.033632s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.125349s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.132100s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.049766s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.048206s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.139319s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.061544s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.323379s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.030504s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.030503s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.182449s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.024095s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.115340s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.034259s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.050081s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.052607s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.036742s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.022743s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.047337s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.170038s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1117: 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) {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.040732s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.283903s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.074916s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.154081s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.147440s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.079733s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.060341s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.169117s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.135006s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.033023s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.121972s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.225459s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.043659s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.035063s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.107320s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.053964s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.300285s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.035708s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.184474s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.075687s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.120497s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.133607s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.079803s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.098105s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.070234s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.114109s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.090208s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.298439s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.037251s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.249973s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.055401s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.065738s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.154456s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.100228s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.144157s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.116681s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.252643s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.077120s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.145754s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.063317s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.063300s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.196372s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.319190s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.163202s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.153542s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.139699s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.189069s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.300309s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.057614s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.296321s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.106858s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.200424s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.176619s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.114547s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.237142s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.125627s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.102515s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.208201s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.186503s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.129124s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.215771s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.174190s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.345790s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.140744s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.231100s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.088888s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.092560s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.069375s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.807642s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.155393s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.068140s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.078648s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.143844s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.078385s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.089992s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.222502s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.143892s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.087942s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.093523s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.118307s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.280324s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.086868s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.139613s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.096929s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.478459s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.362026s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.071676s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.059524s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.437248s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.107474s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.095687s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.054984s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.274094s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.017696s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.047567s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.019049s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.023257s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.166854s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.018347s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.055051s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.345236s] ... 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_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.275622s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.048413s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.173003s] ... 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_fail [0.065989s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.174494s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.186182s] ... 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_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.207492s] ... 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 [0.182886s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.180348s] ... 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_power_state_sync_max_retries_gps_exception [0.091317s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.131439s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.228219s] ... 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_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.250407s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.063998s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.159595s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.031642s] ... 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_validate_fail [0.045003s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.043112s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.029957s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.167553s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.116896s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.122996s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.027745s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.017186s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.096536s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.346022s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.147527s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.045385s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.132027s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.069272s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.027635s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.056475s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.051310s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.031601s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.092305s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.039350s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.071408s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.045133s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.383999s] ... ok {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.078778s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.142648s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.137519s] ... ok {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.093696s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.246348s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.070607s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.673742s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.160997s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.097597s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.265136s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.087720s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.122815s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.089646s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.290257s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.147902s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.082723s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.100020s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.291423s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.283250s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.234720s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.321294s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.225507s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.387997s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.283786s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.303831s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.643668s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.244236s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.218807s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.274358s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.359124s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.068577s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.228566s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.157286s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.155860s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.239707s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.197465s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.171656s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.108137s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.211547s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.213971s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.121988s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.087649s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.033310s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.093892s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.119220s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.049334s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.282383s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.094216s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.083334s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.037759s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.045903s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.071163s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.035909s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.039222s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.083331s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.040238s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.051219s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.048421s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.055011s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.091916s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.108312s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.047031s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.113663s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.074323s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.617550s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.178207s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.163854s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.139566s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.163051s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.239272s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.155514s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.117015s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.064947s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.308835s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.171593s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.656361s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.163644s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.095343s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.090253s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.201385s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.179925s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.078627s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.145088s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.197177s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.242124s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.063745s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.065092s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.031811s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.270152s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.067971s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.252957s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.202104s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.179609s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.084677s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.388857s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.401147s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.427684s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.261401s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.150750s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.404840s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.276709s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.378488s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.134363s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.149747s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.044431s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.057132s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.104788s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.392797s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.095209s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.610783s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.110220s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.215871s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.161526s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.056280s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.399695s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.180858s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.226464s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.068849s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.075073s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.091535s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.078690s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.291916s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.229054s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.060563s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.242536s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.076611s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.150668s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.164679s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.049912s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.126472s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.143635s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.204114s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.280682s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.081921s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.094408s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.055397s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.231844s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.232234s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.395426s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.138755s] ... ok {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.408747s] ... ok {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.040150s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.047893s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.115775s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.201051s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.039302s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.048008s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.035488s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.050820s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.250802s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.094603s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.125873s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.081188s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.078765s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.046162s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.085247s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.208861s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.219801s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.060417s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.076439s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.228982s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.050664s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.047173s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.263957s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.097559s] ... 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_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.373214s] ... 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_no_sync [0.260666s] ... 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_periodics.NodePeriodicTestCase.test_interface_check [0.117348s] ... 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 " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.041661s] ... 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_wrong_provision_state_on_upgrade_lock [0.039408s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.024444s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.102503s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.033007s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.025667s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.044415s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.326512s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.096903s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.101447s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.078610s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.069295s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.376583s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.043279s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.025337s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.022535s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.233697s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.063242s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.218397s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.178605s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.148716s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.040426s] ... ok {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.091899s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.336049s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.074849s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.049254s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.194799s] ... ok {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.147236s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.094541s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.154250s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.184396s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.099218s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.389845s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.030294s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.346596s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.156111s] ... 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_error [0.039164s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.143717s] ... 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_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.228421s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.103156s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.075974s] ... 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_state_changed_sync_failed [0.058640s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.062852s] ... 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.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.282196s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.153848s] ... 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_state_not_set [0.077072s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.076869s] ... 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_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.027685s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.100951s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.047303s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.129618s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.063480s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.056079s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.104795s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.265038s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.082137s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.094995s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.039076s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.045615s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.031773s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.133965s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.050839s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.075488s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.053580s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.263064s] ... ok {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.114093s] ... ok {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.131238s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.083090s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.076269s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.392747s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.408150s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.068311s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.032335s] ... ok {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.041654s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.060741s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.107155s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.094225s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.140808s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.073972s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.112491s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.105074s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.175428s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.311928s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.105278s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.115198s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.099294s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.123461s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.095936s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.089219s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.043032s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.059903s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.125261s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.042742s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.317985s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.075513s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.094437s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.050259s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.237959s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.169828s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.152464s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.247036s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.070328s] ... ok {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.207979s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.073804s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.341273s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.300315s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.301197s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.087316s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.030702s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.026554s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.017583s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.027934s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.062096s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.154763s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.070121s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.110173s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.242998s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.058158s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.028247s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.160033s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.034942s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.034338s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.114558s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.177842s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.221906s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.074280s] ... ok {3} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.015595s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.098174s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.083692s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.380218s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.163042s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.076376s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.064127s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.075525s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.081761s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.068420s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.055698s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.106093s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.045628s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.262626s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.129329s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.083405s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.054143s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.161200s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.168316s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.038570s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.063606s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.043753s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.372214s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.048043s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.178450s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.064619s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.058323s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.193676s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.082478s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.091123s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.057067s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.212204s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.141384s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.123102s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.123554s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.041452s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.055214s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.059400s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.235783s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.114305s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.390969s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.089638s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.062670s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.081437s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.064251s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.133104s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.062034s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.032973s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.190383s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.087608s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.092913s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.041370s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.156822s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.081891s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.094916s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.083978s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.061073s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.076615s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.269238s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.276988s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.064178s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.109357s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.076286s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.088115s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.093992s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.118599s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.120459s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.065461s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.122519s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.181330s] ... 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 " /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_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.391488s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.077928s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.064471s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.083018s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.052348s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.072328s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.080425s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.046227s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.057844s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.046462s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.168160s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.054922s] ... ok {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.026027s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.068091s] ... ok {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.041988s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.020901s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.028335s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.019774s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.146059s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.229367s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.048030s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.198195s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.065582s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.094977s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.227574s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.161277s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.066871s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.336111s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.045159s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.099878s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.169064s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.196365s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.121988s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.061541s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.109224s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.077318s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.146074s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.141541s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.162022s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.125984s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.110101s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.295523s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.160823s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.100558s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.250150s] ... ok {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.103778s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.114177s] ... ok {3} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.035281s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.239211s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.164595s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.053937s] ... ok {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.111644s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.028571s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.038371s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.067226s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.046247s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.042960s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.244746s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.062460s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.099109s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.218352s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.144042s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.096410s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.098305s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.051764s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.185298s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.048651s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.084277s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.043214s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.108656s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.052470s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.094731s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.132367s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.135837s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.124679s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.071394s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.052204s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.207196s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.052421s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.203617s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.037848s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.039782s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.112048s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.037980s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.026260s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.169698s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.037553s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.037549s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.026636s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.045130s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.039700s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.218836s] ... ok {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.097206s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.062453s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.400737s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.050903s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.056567s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.028309s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.050146s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.029160s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.053038s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.049968s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.023830s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.023169s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.032477s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.031079s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.442987s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.029108s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.036008s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.020854s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.032040s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.131905s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.052470s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.314943s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.029323s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.032435s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.070985s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.027301s] ... ok {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.124420s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.023250s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.052034s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.073916s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.024815s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.034800s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.039583s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.029183s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.032281s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.044062s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.066159s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.075994s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.050584s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.048963s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.352509s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.099993s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.076541s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.082048s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.055898s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.043071s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.091704s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.193601s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.077503s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.107812s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.135742s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.067747s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.036966s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.087829s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.123353s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.074339s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.062167s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.210458s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.041076s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.042213s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.138930s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.169784s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.280730s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.216535s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.044225s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.083932s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.102281s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.045926s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.042621s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.082849s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.066933s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.196879s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.156968s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.095727s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.057110s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.090416s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.077211s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.231138s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.189578s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.051058s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.074820s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.070394s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.044370s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.113995s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.038368s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.224862s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.046958s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.037520s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.043427s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.042318s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.127181s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.048745s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.155614s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.046537s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.042485s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.068664s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.033358s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.073998s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.061897s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.040809s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.216361s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.043107s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.071662s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.094539s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.045715s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.043735s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.113962s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.092161s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.067961s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.038961s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.128348s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.052799s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.187158s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.080453s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.067875s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.042089s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.130774s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.078457s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.077881s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.059528s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.132151s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.087392s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.165674s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.063457s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.044659s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.039713s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.133816s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.109566s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.167818s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.032723s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.080800s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.054978s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.061975s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.101037s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.029426s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.071336s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.029736s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.031494s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.084149s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.027797s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.032302s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.056127s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.061334s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.036151s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.036988s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.069647s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.097950s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.055519s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.032172s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.060232s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.047820s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.042816s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.067465s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.070709s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.081592s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.057118s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.079736s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.033255s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.057870s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.040966s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.044009s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.058547s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.090407s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.089264s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.082731s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.146019s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.039073s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [2.185862s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.069983s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.061955s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.060621s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.079689s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.056955s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.061100s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.250336s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.097638s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.290697s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.137412s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.098227s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.216541s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.062719s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.107170s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.047220s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.089603s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.077263s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.233062s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.263915s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.154654s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.050960s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.255910s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.031944s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.469892s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.036323s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.279248s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.177504s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.178995s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.064549s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.064077s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.125319s] ... ok {1} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.167528s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.102149s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.072693s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.054296s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.094015s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.064418s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.044766s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.071144s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.356400s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.074916s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.109456s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.071402s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.102068s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.161584s] ... 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_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.068730s] ... 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.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.047394s] ... 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_max_retries_exceeded2 [0.071601s] ... 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_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.042621s] ... 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.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.072880s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.054215s] ... 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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.439433s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.147933s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.153086s] ... 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.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.076512s] ... 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_no_power_sync_support [0.073064s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.094247s] ... 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_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.100449s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.100721s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.056072s] ... 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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.122984s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.139369s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.021421s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.085797s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.050195s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.136429s] ... 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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.034026s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.087931s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.069391s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.029529s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.036652s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.020669s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.105427s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.052784s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.072094s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.061436s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.024510s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.076701s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.080040s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.063297s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.089460s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.075497s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.058809s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.169851s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.063304s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.202698s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.049628s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.087823s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.027684s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.082355s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.024871s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.054705s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.052652s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.050594s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.076461s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.203698s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.101224s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.128015s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.120241s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.271027s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.158799s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.080693s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.137768s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.129010s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.074222s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.043489s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.086506s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.024271s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.039354s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.068463s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.062632s] ... ok {2} 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.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.065729s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.079456s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.107294s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.106271s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.360762s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.053198s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.131793s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.028756s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.079480s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.075510s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.164331s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.037018s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.056808s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.185671s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.088240s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.098222s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.132513s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.056899s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.077988s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.187547s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.134686s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.146699s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.101266s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.089204s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.136067s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.049334s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.027248s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.360424s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.160708s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.220715s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.159578s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.099221s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.046073s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.222878s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.141066s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.118572s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.207256s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.042996s] ... ok {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.070675s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.034799s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.101878s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.049585s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.077739s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.236323s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.085904s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.082455s] ... ok {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.354660s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.183446s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.218781s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.095650s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.087656s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.038030s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.037708s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.051621s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.274807s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.566199s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.044987s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.038964s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.430128s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.049609s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.145979s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.093183s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.080839s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.032324s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.238887s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.064326s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.065183s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.075131s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.041540s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.103510s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.046811s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.094809s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.034312s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.147007s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.076706s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.057914s] ... ok {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.070820s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.405063s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.068039s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.087455s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.042091s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.061625s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.056030s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.050059s] ... ok /builddir/build/BUILD/ironic-18.3.0.dev130/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.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.030070s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.048734s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.211174s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.060624s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.033773s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.028258s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} 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_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.041282s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.021804s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.103914s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.089217s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.035269s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.153228s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.040849s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.032465s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.064337s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.067375s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.049958s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.046513s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.145798s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.045207s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.190913s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.062175s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.048103s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.137337s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.044346s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.153579s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.064880s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.105307s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.336014s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.094022s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.052158s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.023367s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.033200s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.042949s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.032864s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.107499s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.037520s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.069269s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.042023s] ... ok {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.028284s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.055207s] ... ok {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.043632s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.058985s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.054890s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.037902s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.025850s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.036632s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.028116s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.145111s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.082497s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.065214s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.081222s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.035171s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.199487s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.042971s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.073535s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.056576s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.062602s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.071027s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.090203s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.083794s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.345061s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.066781s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.112275s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.067238s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.043141s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.032509s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.049464s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.075184s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.122330s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.119746s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.036971s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.075291s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.031674s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.034793s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.367798s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.045427s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.107612s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.028286s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.067409s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.071184s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.075541s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.065079s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.064902s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.035635s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.078692s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.040351s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.052530s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.067475s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.062412s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.202875s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.084702s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.078877s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.060836s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.068392s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.101833s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.078772s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.044979s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.119315s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.029228s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.066258s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.039630s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.030791s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.076283s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.043166s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.045875s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.093929s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.032849s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.048407s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.861258s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.053521s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.044646s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.067516s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.328531s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.066692s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.044348s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.067974s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.036547s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.146922s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.095849s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.105453s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.078440s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.132290s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.060369s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.128594s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.086104s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.094392s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.074334s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.058793s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.240051s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.052620s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.049429s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.066708s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.072344s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.048589s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.051644s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.038501s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.088745s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.106651s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.061718s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.498152s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.084498s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.069912s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.080459s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.093061s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.185252s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.077574s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.073852s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.081410s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.031699s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.074367s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.081984s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.334900s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.069921s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.091733s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.049966s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.067078s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.111595s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.061932s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.050972s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.030044s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.128365s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.138701s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.037325s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.034805s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.111861s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.084519s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.077385s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.038413s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.459536s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.092507s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.030451s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.025393s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.043143s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.044318s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.031690s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.068823s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.124537s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.072696s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.074039s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.131215s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.159912s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.411910s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.062077s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.033181s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.106488s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.109523s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.035237s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.072023s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.044067s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.027030s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.110413s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.140659s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.050925s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.049460s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.127042s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.097965s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.063424s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.067190s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.044429s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.054580s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.071252s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.027125s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.086376s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.047354s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.060144s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.034918s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.102896s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.055020s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.052288s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.054016s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.052542s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.045170s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.048929s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.066726s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.126285s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.065318s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.043671s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.059080s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.025834s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.052856s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.036368s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.023143s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.048311s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.039908s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.031544s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.046160s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.042137s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.048241s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.025564s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.062627s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.104786s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.034437s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.039117s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.070736s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.028908s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.033691s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.022057s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.052667s] ... ok {1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.038268s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.107106s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.063795s] ... ok {1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.040316s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.089725s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.016958s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.034081s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.036033s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.084631s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.061175s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.033420s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.044263s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.063300s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.049540s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.077003s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.080321s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.170959s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.073754s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.175618s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.070008s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.060092s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.165726s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.089056s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.468263s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.056229s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.115845s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.034385s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.087902s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.042717s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.080147s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.042394s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.102325s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.076679s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.103170s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.029731s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.047387s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.032333s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.070480s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.039663s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.057906s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.044407s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.020245s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.060607s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.097986s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.058607s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.048536s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.073461s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.041678s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.088319s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.040869s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.090777s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.040464s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.093951s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.185278s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.061757s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.085509s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.053132s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.057861s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.109395s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.053771s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.051916s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.192455s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.052989s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.102891s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.060746s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.034525s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.065918s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.074516s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.109831s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.043292s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.084462s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.055166s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.038732s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.083039s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.061815s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.054414s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.055273s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.097725s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.105323s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.048656s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.031896s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.168049s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.035458s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.048354s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.218679s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.056170s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.040525s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.100464s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.041560s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.059364s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.055923s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.113678s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.031611s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.052397s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.051500s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.090482s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.077976s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.032754s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.087400s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.037118s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.096098s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.032872s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.039284s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.064079s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.295272s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.025193s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.044703s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.039099s] ... ok {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.018474s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.155305s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.052695s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.059649s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.149767s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.038187s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.090748s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.031554s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.046608s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.102358s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.066716s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.044293s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.122088s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.067356s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.135985s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.128056s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.068793s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.048397s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.108217s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.088215s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.055747s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.292028s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.041871s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.025780s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.053660s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.109042s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.026984s] ... ok {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.028360s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.086022s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.070643s] ... ok {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.023969s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.069964s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.074875s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.046147s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.067121s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.087544s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.079886s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.069798s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.118473s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.066965s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.142524s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.069672s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.129228s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.090424s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.077496s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.049968s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.128555s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.046559s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.103408s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.061159s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.057852s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.031041s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.071582s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.086761s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.042630s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.048862s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.075544s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.111950s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.070020s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.061384s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.049244s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.047203s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.037864s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.079356s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.032630s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.095450s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.037250s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.031246s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.101472s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.189547s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.049427s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.053236s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.056389s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.106698s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.093112s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.029800s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.104562s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.067944s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.064332s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.088975s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.031679s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.076290s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.139786s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.030875s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.026759s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.066440s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.407586s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.120391s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.110196s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.065560s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.167654s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.041419s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.140182s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.060195s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.050706s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.083065s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.041043s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.195121s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.034483s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.096656s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.047388s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.067923s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.138764s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.065698s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.056126s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.036348s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.034341s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.167369s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.032229s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.134318s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.087717s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.080253s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.034782s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.083404s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.080603s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.038107s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.065061s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.107739s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.155989s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.149828s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.068665s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.033680s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.124241s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.082218s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.039625s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.084051s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.045165s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.105323s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.069181s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.051745s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.029064s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.148352s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.068443s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.098462s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.075005s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.120669s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.063151s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.103505s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.066170s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.098940s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.039084s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.080087s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.038856s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.047574s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.062154s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.030162s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.055834s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.032101s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.223964s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.036983s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.055738s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.040441s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.040607s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.098055s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.141255s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.076607s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.063393s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.088121s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.063667s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.097279s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.048184s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.137207s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.040883s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.062961s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.052826s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.062591s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.085714s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.054610s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.101622s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.042799s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.037045s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.063365s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.057211s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.031395s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.054135s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.053469s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.036360s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.023399s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.081572s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.088345s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.048673s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.055079s] ... 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.079832s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.115135s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.122843s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.061189s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.076113s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.118604s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.038043s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.062092s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.070058s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.056568s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.107908s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.077332s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.066674s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.055565s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.067015s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.066779s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.100898s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.058023s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.075703s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.061373s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.067482s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.063542s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.060019s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.047396s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.034115s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.056843s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.075115s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.026118s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.034979s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.045685s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.066677s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.028797s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.023330s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.035146s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.142223s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.026495s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.039109s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.041180s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.079285s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.046307s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.073220s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.093090s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' 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.TestWalkVersions.test_migrate_up_with_data [0.051814s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.108056s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.274549s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.070959s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.082198s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.033565s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.030788s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.044693s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.045942s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.079561s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.125341s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.029618s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.034425s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.037279s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.094543s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.176717s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.126027s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.569780s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.093740s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.065196s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.175188s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.063459s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.059462s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.037673s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.052949s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.049780s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.129061s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.456846s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.072173s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.120910s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.047367s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.030512s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.080382s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.211221s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.099298s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.066673s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.035349s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.086833s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.048279s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.046808s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.098856s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.104688s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.068508s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.061112s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.034447s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.056686s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.058669s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.116849s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.056269s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.069255s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.046107s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.080816s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.088672s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.032417s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.094280s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.034210s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.088485s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.027880s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.086305s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.037138s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.085411s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.052278s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.059616s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.019735s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.052394s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.043131s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.078082s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.093441s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.052102s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.094411s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.052276s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.108816s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.093599s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.057733s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.170816s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.125824s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.070262s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.109347s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.067747s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.040159s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.080012s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.094319s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.054777s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.179624s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.096571s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.049438s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.088720s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.124629s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.036501s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.085584s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.058081s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.028234s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.121545s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.050159s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.026169s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.100488s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.040615s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.023458s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.084578s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.037700s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.090103s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.157982s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.037968s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.080613s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.070012s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.042795s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.027889s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.027615s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.054445s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.085629s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.039087s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.077371s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.214701s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.100565s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.043476s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.063258s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.049772s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.042024s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.046275s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.096676s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.070510s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.061698s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.100892s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.022535s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.076308s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.037838s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.086649s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.034579s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.038995s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.047845s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.046013s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.049148s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.502849s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.043101s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.131687s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.036734s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.067853s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.065601s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.057599s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.119381s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.084713s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.116413s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.090930s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.075501s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.102869s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.060630s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.106742s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.097153s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.062018s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.090546s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.088273s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.116152s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.028453s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.230145s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.124574s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.092079s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.100134s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.060325s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.060179s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.140460s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.047601s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.044562s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.060707s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.081443s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.113703s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.067095s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.036835s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.091673s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.026490s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.035130s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.068100s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.147944s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.035488s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.437051s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.071206s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.061240s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.058583s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.034294s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.027630s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.066027s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.102740s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.068381s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.076537s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.062420s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.048413s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.040960s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.049187s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.254530s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.031824s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.057746s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.099778s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.117582s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.130752s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.046614s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.081245s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.069140s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.047822s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.041963s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.058579s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.047521s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.114688s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.025073s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.064423s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.056159s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.110042s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.058103s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.062392s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.080427s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.165303s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.495756s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.060356s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.060925s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.033894s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.027465s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.042023s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.077624s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.034210s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.029460s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.079500s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.150160s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.072995s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.037322s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.059044s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.077654s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.026961s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.192502s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.044926s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.051903s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.078854s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.113426s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.051743s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.074233s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.057929s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.052830s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.076592s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.028797s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.118629s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.026240s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.125327s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.071330s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.081000s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.074571s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.087662s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.081361s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.051889s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.020487s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.087585s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.033169s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.049563s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.030346s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.078078s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.116059s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.078319s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.173579s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.049909s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.030840s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.037619s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.034796s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.049019s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.081343s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.126671s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.040966s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.078027s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.083774s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.069072s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.068023s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.109864s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.129279s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.254776s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.213273s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.128550s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.111945s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.067143s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.141457s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.054084s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.152890s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.098105s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.057698s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.134840s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.132755s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.094080s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.091910s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.150867s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.154003s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.238124s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.108210s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.118734s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.051196s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.191141s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.126709s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.073978s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.089458s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.120440s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.103376s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.181187s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.115413s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.083006s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.080899s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.117046s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.070165s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.126535s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.101073s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.219724s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.081814s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.110712s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.066983s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.036335s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.088275s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.067915s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.169188s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.056931s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.096681s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.047141s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.086883s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.135092s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.066417s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.042335s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.084905s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.093352s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.088008s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.135900s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.087262s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.060077s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.155039s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.144224s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.072726s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.103301s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.226258s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.053973s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.047253s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.131148s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.031935s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.093039s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.078520s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.052286s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.075892s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.057041s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.047760s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.091344s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.018382s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.070147s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.035546s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.069937s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.093144s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.042071s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.090986s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.035632s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.091709s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.080529s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.086074s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.051251s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.027114s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.097808s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.023775s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.075878s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.099005s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.021398s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.057695s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.020943s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.026370s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.074947s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.028406s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.016401s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.107976s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.100310s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.045770s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.093951s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.054043s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.074655s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.048610s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.059545s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.068235s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.181404s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.083013s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.080664s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.138061s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.051182s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.091419s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.141942s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.063054s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.078572s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.053805s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.038384s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.026150s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.045680s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.052430s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.152540s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.179269s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.046284s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.056594s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.043264s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.035816s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.054528s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.045104s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.062462s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.148424s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.077963s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.077454s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.086674s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.041594s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.064298s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.061636s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.051044s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.083866s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.058042s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.097162s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.050977s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.055904s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.078020s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.065625s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.128090s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.040772s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.045934s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.052943s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.091180s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.037711s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.044627s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.067032s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.073547s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.076265s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.067121s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.131818s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.048735s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.027376s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.022701s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.051381s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.026067s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.089843s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.041468s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.127123s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.030618s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.028388s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.064071s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.026065s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.140899s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.029896s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.036504s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.077018s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.032743s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.169310s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.084040s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.063317s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.042510s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.185705s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.121612s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.062835s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.055719s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.052961s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.183206s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.162690s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.110070s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.194710s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.131919s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.093032s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.107861s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.054614s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.579936s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.038855s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.270375s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.054055s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.142008s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.058421s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.090189s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.033119s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.184516s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.047110s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.033344s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.042497s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.062983s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.065732s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.137280s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.087531s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.066308s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.039153s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.127867s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.067266s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.114685s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.076676s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.630913s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.121238s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.046090s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.094908s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.258029s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.035939s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.086673s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.063644s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.117327s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.084135s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.415348s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.064740s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.104171s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.038841s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.137382s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.035008s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.052320s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.056562s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.071832s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.123476s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.036715s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.037600s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.118652s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.069599s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.072269s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.111133s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.059514s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.060447s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.050010s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.052441s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.077779s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.043149s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.052345s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.032209s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.042921s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.043036s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.046735s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.039249s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.106823s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.049750s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.071720s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.073229s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.053684s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.127156s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.072210s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.072435s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.065216s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.076239s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.111645s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.049750s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.092605s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.141221s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.075017s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.048875s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.120887s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.120304s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.085242s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.110485s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.087553s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.081864s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.058189s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.066436s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.063658s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.070746s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.065779s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.108546s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.134454s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.125482s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.100453s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.062435s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.069775s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.078632s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.042101s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.052796s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.056976s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.080126s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.039930s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.041564s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.030803s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.077102s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.066120s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.060124s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.078554s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.064515s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.049769s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.047850s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.088765s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.217358s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.027458s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.026847s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.025224s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.026790s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.047080s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.090917s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.049315s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.052169s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.061652s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.057383s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.065711s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.049093s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.069068s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.052796s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.063091s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.046131s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.061366s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.053159s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.037875s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.065466s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.118995s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.083482s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.097259s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.082834s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.611930s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.070724s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.053510s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.036670s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.059713s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.098208s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.067225s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.100706s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.055194s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.094375s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.061668s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.040311s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.046208s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.116526s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.039202s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.038828s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.034176s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.104207s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.037351s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.076966s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.063545s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.107841s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.138993s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.071448s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.112443s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.113941s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.125953s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.061567s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.035123s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.111839s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.066134s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.068602s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.041929s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.050876s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.037890s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.066096s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.072024s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.040030s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.084645s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.035914s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.041917s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.072798s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.034744s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.027506s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.056804s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.041543s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.047584s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.067346s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.054718s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.101971s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.043116s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.040673s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.053210s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.342048s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.048264s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.033730s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.044727s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.032218s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.057669s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.046004s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.042573s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.148294s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.110549s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.038292s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.075722s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.055123s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.104372s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.072030s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.087050s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.155051s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.107956s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.071676s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.064497s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.095151s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.073276s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.059658s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.126784s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.106278s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.090561s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.147421s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.057398s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.095270s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.098518s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.204583s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.092178s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.054283s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.033061s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.088102s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.068399s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.020982s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.072879s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.046159s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.112584s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.032376s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.016393s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.134124s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.062280s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.086897s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.163026s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.085673s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.068238s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.104045s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.054658s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.051056s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.057947s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.058465s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.036296s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.034735s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.025258s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.033038s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.033672s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.065773s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.093725s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.069208s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.083451s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.031103s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.031492s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.068448s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.062696s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.079074s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.070319s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.099225s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.169662s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.214458s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.125075s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.128622s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.154992s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.117209s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.157379s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.069781s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.088080s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.056007s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.054782s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.049802s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.050525s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.046940s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.069543s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.040768s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.086358s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.100378s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.076142s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.069734s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.112516s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.114387s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.080699s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.133015s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.200285s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.112524s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.127573s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.123055s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.134230s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.135366s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.135926s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.118179s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.130586s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.110849s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.080846s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.086540s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.076288s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.220321s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.123036s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.101036s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.143595s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.130124s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.310705s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.149943s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.306627s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.119653s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.104092s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.081524s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.192486s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.095336s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.192392s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.115611s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.102232s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.079990s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.064602s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.168678s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.156423s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.129526s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.170233s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.157107s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.092908s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.067925s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.089026s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.076844s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.171292s] ... ok /builddir/build/BUILD/ironic-18.3.0.dev130/ironic/drivers/modules/irmc/inspect.py:277: 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.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.044365s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.083237s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.883688s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.101762s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.033003s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.020774s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.056518s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.021809s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.033577s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.194351s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.215577s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.095304s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.089219s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.025262s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.069552s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.052805s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.074024s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.184515s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.116289s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.131143s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.058140s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.206157s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.177686s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.055622s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.094534s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.080504s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.127659s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.020729s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.027815s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.147131s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.032876s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.101469s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.043633s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.089528s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.060897s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.059600s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.065498s] ... ok /builddir/build/BUILD/ironic-18.3.0.dev130/ironic/drivers/modules/irmc/inspect.py:277: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited new_port.create() RuntimeWarning: Enable tracemalloc to get the object allocation traceback {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.485663s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.065958s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.113369s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.031140s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.055896s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.109297s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.060942s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.062337s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.113184s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.105444s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.042216s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.084188s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.066838s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.048479s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.081384s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.066910s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.044693s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.130171s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.135848s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.163865s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.101770s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.114044s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.293961s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.202985s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.263920s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.099096s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.057099s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.043953s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.083353s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.058664s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.063388s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.052575s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.111399s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_uefi [0.143259s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.061405s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.082941s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.043436s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.078090s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.029682s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.022776s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.850285s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.070554s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.034500s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.046135s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.087358s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.108734s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.077289s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.334526s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.037218s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.092141s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.042958s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.069282s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.054840s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.064265s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.219182s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.112349s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.306445s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.121337s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.083849s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.134465s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.029103s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.186568s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.112207s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.129350s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.101266s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.074545s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.068973s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.117072s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.152210s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.625885s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.122454s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.095255s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.057610s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.055960s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.165004s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.212392s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.055229s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.133728s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.064196s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.074347s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.172738s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.117703s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.110124s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.070057s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.131689s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.094729s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.098102s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.039293s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.145567s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.093344s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.141472s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.192471s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.041710s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.032936s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.088664s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.060914s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.088254s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.140141s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.100048s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.097237s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.065353s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.058867s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.070502s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.099092s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.055188s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.057256s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.099701s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.143613s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.156687s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.177886s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.080564s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.056412s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.112356s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.203455s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.175579s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.056079s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.070107s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.020735s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.092307s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.030864s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.027405s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.036221s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.026206s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.053913s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.183907s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.070990s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.171664s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.133232s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.088895s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.043495s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.060473s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.175425s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.023604s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.235466s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.051831s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.285668s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.093830s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.028564s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.031360s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.086304s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.026761s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.087229s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.053606s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.036647s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.117765s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.146671s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.030434s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.057190s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.292694s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.151671s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.157605s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.066768s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.206646s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.129092s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.197307s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.060435s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.376896s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.225401s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.117772s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.203311s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.057896s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.168931s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.082612s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.128541s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.074131s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.143812s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.147495s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.333619s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.118376s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.177761s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.031308s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.193243s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.181612s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.050901s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.021239s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.231688s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.110423s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.086680s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.014312s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.063264s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.148295s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.054271s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.165477s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.124665s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.087536s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.022929s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.174741s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.107998s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.062249s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.042119s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.071276s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.187614s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.056003s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.078446s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.030559s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.216797s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.065364s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.154714s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.077889s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.137711s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.078518s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.105253s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.210614s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.218060s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.085742s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.040592s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.159134s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.144410s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.273482s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.436395s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.141319s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [1.038518s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.250039s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.160350s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.194870s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.167805s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.211304s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.103704s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.117731s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.856153s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.138288s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.164129s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.135917s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.191750s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.099210s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.109277s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.160140s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.048103s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.112548s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.211075s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.195080s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.084560s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.120657s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.063089s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.084906s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.061351s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.091666s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.095852s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.221764s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.045943s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.077161s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.209114s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.154370s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.036932s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.039196s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.359526s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.061331s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.037840s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.086671s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.048164s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.070722s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.017365s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.024865s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.078288s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.048047s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.038180s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.193194s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.240527s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.094676s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.070829s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.033989s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.107750s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.026855s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.018819s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.111075s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.093650s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.121730s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.065394s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.169186s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.310745s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.074047s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.120001s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.127660s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.095610s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.090156s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.091538s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.077614s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.088772s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.092924s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.416028s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.141040s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.035372s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.044989s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.076102s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.099560s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.126744s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.055275s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.102060s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.145397s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.082988s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.106392s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.214361s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.080967s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.121707s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.071600s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.107683s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.205482s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.087285s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.034310s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.091351s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.048266s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.106227s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.127677s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.118069s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.119557s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.101018s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.043594s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.086419s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.089970s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.136440s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.090712s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.030020s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.131386s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.058112s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.110259s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.132039s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.106641s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.034738s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.107051s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.026393s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.021994s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.061884s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.021705s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.019434s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.109623s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.088351s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.068145s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.039853s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.082834s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.084341s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.037059s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.064550s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.083810s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.079490s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.070857s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.063576s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.146011s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.197209s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.065183s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.070076s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.029959s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.047087s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.056599s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.072118s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.207080s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.083634s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.124194s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.096688s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.055182s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.066646s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.088914s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.103105s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.067433s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.161786s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.157706s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.154819s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.125185s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.148540s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.124441s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.127648s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.120998s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.093365s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.096759s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.084209s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.044575s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.172112s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.179730s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.104951s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.244806s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.082680s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.233533s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.079412s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.060556s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.180775s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.289546s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.095471s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.078520s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.224020s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.066982s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.140195s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.087213s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.089392s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.170213s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.075404s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.187399s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.107282s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.040405s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.107002s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.035084s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.063502s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.042860s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.170833s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.147437s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.042931s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.033161s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.249713s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.074678s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.204098s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.083322s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.170306s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.107143s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.329732s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.173600s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.069195s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.066434s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.045642s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.076287s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.287531s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.064667s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.116565s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.165044s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.061399s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.079711s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.051728s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.132291s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.062692s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.103895s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.142558s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.068059s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.214432s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.085413s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.076841s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.109513s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.081172s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.068378s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.129354s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.062667s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.026372s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.041167s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.090706s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.139604s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.053000s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.053918s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.122964s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.176962s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.142969s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.101667s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.643763s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.190207s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.174105s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.078672s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.031772s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.112603s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.207368s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.165132s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.095794s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.134234s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.082201s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.102208s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.164965s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.285376s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.089348s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.331769s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.114374s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.080678s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.082812s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.212471s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.104283s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.178188s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.093662s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.084520s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.059175s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.168755s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.236729s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.185297s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.129050s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.075636s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.072308s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.196162s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_bios [0.208372s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.123282s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.168355s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.053335s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.151634s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.233622s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.148154s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.147559s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.090277s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.124297s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.120603s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.059212s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.084129s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.112096s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.135585s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.088938s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.335442s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.039191s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.107601s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.094284s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.230125s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.132098s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.147446s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.114005s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.082087s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.219171s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.084149s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.264704s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.183410s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.141399s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.104055s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.104341s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.211195s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.087869s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.098073s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.083934s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.173884s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.124416s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.120483s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.078985s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.060140s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.102310s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.101283s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.093418s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.147176s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.060922s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.714256s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.094323s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.059149s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.051848s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.044952s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.050622s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.090996s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.051865s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.019888s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.016092s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.020944s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.025021s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.105196s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.175312s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.111072s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.126810s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.122948s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.083947s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.097443s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.055352s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.103224s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.072924s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.054781s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.109573s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.074157s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.094172s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_bios [0.120932s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.127657s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.095949s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.129094s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.138514s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.067378s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.161354s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.061023s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.090989s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.115626s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.084123s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.075996s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.084483s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.045446s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.028112s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.163464s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.103528s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.057528s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.167584s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.185700s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.104589s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.055531s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.115037s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.054991s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.081029s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.230221s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.062310s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.175516s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.082055s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.097988s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.088530s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.115988s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.090091s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.099693s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.078752s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.100514s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.125317s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.044445s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.065905s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.052316s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.055220s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.084633s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.055025s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.069970s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.098023s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.048310s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.057531s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.097260s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.076976s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.199118s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.095895s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.023874s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.023312s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.064035s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.188816s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.024870s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.028867s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.039922s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.109504s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.034211s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.125206s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_incompatible_with_idrac [0.059018s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.033675s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.037163s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.056317s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.096307s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.094751s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.064913s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.062375s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.048706s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.096601s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.093341s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.091300s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.129009s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.084765s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.112649s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.031402s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.039213s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.042466s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.119762s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.077264s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.025244s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.023973s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.138506s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.036857s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.621583s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.019911s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.035063s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.027692s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.089555s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.182165s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.117793s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.128632s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.043589s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.059346s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.043837s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.135001s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.224356s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.054357s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.078767s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.070983s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.140028s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.068931s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.030053s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.019994s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.135242s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.135389s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.034536s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.091340s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.110705s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.167661s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.076410s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.047059s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.055514s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.055711s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.028523s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.104492s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.039062s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.044859s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.087356s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.040699s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.148369s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.064782s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.088445s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.062369s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.134554s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.032497s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.175871s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.028194s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.049278s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.082334s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.144961s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.095766s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.094028s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.064667s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.034924s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.042148s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.043563s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.196044s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.041910s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.077425s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.095553s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.071869s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.169196s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.062684s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.089724s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.100614s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.111935s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.104249s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.069661s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.069488s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.108359s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.064546s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.048731s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.111864s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.053628s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.041595s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.039467s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.015392s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.040543s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.037780s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.072934s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.027841s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.036540s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.099827s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.015928s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.073290s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.021327s] ... ok {3} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.018951s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.051170s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.104775s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.041335s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.149940s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.084955s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.032369s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.076713s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.127301s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.109300s] ... ok {3} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.413164s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.078017s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.083862s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.173073s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.058282s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.122579s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.051934s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.110479s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.048144s] ... 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.059537s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.047135s] ... 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_management_and_power [0.058501s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.063795s] ... 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_raid [0.065034s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.040860s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.048837s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.095991s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.366093s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.080956s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.046970s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.109499s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.072846s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.092294s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.143369s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.071294s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.058745s] ... ok {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.070524s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.071277s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.083867s] ... ok {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.073867s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.074622s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.126607s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.064591s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.092144s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.090494s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.068303s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.117718s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.057155s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.087068s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.088528s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.082960s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.054284s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.033388s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.096807s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.048335s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.116966s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.164289s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.043076s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.061276s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.073682s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.065887s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.068222s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.052219s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.116362s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.136304s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.102176s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.043604s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.208658s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.056482s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.028327s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.121823s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.088908s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.043259s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.019031s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.019820s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.016098s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.071128s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.020657s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.103854s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.021862s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.032895s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.034159s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.097582s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.100722s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.024496s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.028955s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.027438s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.080899s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.032418s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.039095s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.099361s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.202552s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.056121s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.051166s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.034798s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.096654s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.132478s] ... ok {3} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.028303s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.013868s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.020235s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.063612s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.020432s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.018327s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.020860s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.057821s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.020148s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.017236s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.042709s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.025350s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.172605s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.018522s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.028318s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.025230s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.078956s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.033405s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.110587s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.026355s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.029674s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.055236s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.084642s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.021211s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.027463s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.022623s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.026730s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.048657s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.019867s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.028979s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.014044s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.030245s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.055384s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.041234s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.042652s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.015236s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.060930s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.071251s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.028325s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.031859s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.023365s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.028768s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.075741s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.073509s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.038916s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.058128s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.050933s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.026251s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.073814s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.043128s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.072777s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.038783s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.163533s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.046909s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.072359s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.030411s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.045686s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.032910s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.024845s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.027457s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.030334s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.138634s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.057507s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.023812s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.077551s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.081312s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.031515s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.026789s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.046271s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.026620s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.037094s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.096373s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.025233s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.023916s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.077687s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.030252s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.028466s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.045628s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.037049s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.139836s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.051532s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.034829s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.070610s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.091650s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.030368s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.098537s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.197109s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.069099s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.036566s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.048782s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.064263s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.088464s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.146576s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.042791s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.101824s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.038797s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.070110s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.042989s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.019100s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.016800s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.093191s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.018501s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.043396s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.053564s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.171997s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.067057s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.069106s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.059105s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.031216s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.051174s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.028630s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.017712s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.019120s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.045493s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.023727s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.031779s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.028669s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.034380s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.157250s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.044534s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.016365s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.018599s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.026707s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.086921s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.017265s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.111685s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.036026s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.034406s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.097131s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.026105s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.043374s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.056919s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.021297s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.167950s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.067038s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.040175s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.052571s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.103478s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.042751s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.135610s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.041781s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.053306s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.060620s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.064222s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.067203s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.144648s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.060284s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.049670s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.034122s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.030277s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.023684s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.102141s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.026827s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.038006s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.026801s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.018904s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.052207s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.078108s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.022473s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.030383s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.015827s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.050756s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.089071s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.033424s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.079622s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.048861s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.033603s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.119174s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.096044s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.044275s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.052101s] ... ok GET: /v1/things {'name': 'foo', 'flag': 'truish'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8974dacd-1032-45bb-b971-f633f28cfe66 {"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: / {} 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'}]} 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://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'}, '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'}} func1() migrated 10 of 15 objects. func1() migrated 10 of 10 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. {'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-619d122f-6e03-45f3-abff-1cf48e936aae', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '192.168.240.33', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} {'deploy_kernel': ('deploy_kernel', '/tmp/tmpzjnztk0w/tmpll32rq_9/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpzjnztk0w/tmpll32rq_9/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} returning final set {10: [1, 2], 11: [4], 12: [7]} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.044374s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.067795s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.034489s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.027001s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.027784s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.023740s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.024290s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.035249s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.022424s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.047019s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.015853s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.022917s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.041518s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.044232s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.027734s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.018574s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.024178s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.045126s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.045978s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.059698s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.055572s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.037788s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.052247s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.041509s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.092024s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.055947s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.046905s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.049111s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.045755s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.105381s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.044838s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.053343s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.041055s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.067536s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.056486s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [1.140866s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.031680s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.065615s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.034801s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.049481s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.022159s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.016370s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.015993s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.014644s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.037182s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.022275s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.043904s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.051927s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.069517s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.078008s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.036236s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.036671s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.039436s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.035641s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.043180s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.042234s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.036586s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.040001s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.046424s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.070184s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.050133s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.057612s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.040678s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.040215s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.054788s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.050885s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.035075s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.062163s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.061733s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.036168s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [15.526282s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.076029s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.034956s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.029264s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.035167s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.158983s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.029733s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.027596s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.085359s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.036985s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.055734s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.039009s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.045410s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.150742s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.068960s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.071065s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.058178s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.187744s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.035522s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.048990s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.047682s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.135276s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.057046s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.086755s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.048471s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.058882s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.063573s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.162439s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.030920s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.065774s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.071000s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.092725s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.057395s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.035931s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.031247s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.081070s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.134766s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.049217s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.047575s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.067229s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.042362s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.046321s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.094735s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.039760s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.034391s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.055693s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.071917s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.147831s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.049134s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.261514s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.108165s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.116986s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.076403s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.061655s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.091360s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.048124s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.065496s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.061960s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.043885s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.073934s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.055820s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.068298s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.140124s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.057869s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.071468s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.083081s] ... 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.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.040212s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.020055s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.125227s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.046800s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.058174s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.052741s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.070512s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.060725s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.041687s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.042847s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.068548s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.556868s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.287178s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.063885s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_uefi [0.188700s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.097734s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.076689s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.164171s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.079770s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.071652s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.075227s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.097585s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.080192s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.078975s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.053042s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.098561s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.127462s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.053158s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.099461s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.066878s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.199755s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.058189s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.054972s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.117741s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.053608s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.080933s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.065706s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.068525s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.060084s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.096075s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.050435s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.068107s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.089832s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.138683s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.146023s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.042372s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.066579s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.036016s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.057319s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.091197s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.050628s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.048949s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.109150s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.050308s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.085986s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.116473s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.062259s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.019726s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.029177s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.045850s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.118226s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.021255s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.025284s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.048859s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.043293s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.024933s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.195485s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.039375s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.059674s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.021252s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.031283s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.164608s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.052231s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.020666s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.058789s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.030307s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.021884s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.035876s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.070539s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.038162s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.025009s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.074350s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.034678s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.029698s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.032164s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.077104s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.030545s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.054367s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.041431s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.070051s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.060415s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.075956s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.079184s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.032104s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.029948s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.142878s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.041366s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.022662s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.045166s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.112218s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.047301s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.081135s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.074313s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.054310s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.057522s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.073168s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.050543s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.071257s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.026187s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.031894s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.051731s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.020996s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.039162s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.181307s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.085702s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.021367s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.092683s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.033931s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.070470s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.067536s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.113452s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.029285s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.077363s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.035774s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.017568s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.020831s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.016832s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.020050s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.076224s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.014955s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.054755s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.066721s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.033108s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.034499s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.081026s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.032113s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.027076s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.043107s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.072362s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.017944s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.045267s] ... 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.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.029711s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.060796s] ... 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_idrac [0.053919s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.096368s] ... 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_inspect [0.089491s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.100251s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.056496s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.043473s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.093581s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.047416s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.155976s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.156577s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.105097s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.172930s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.143777s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.128119s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.240019s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.084125s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.070593s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.071351s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.069314s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.060841s] ... ok {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.123482s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.082724s] ... ok {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.048381s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.059038s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.063902s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.058188s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.073867s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.063497s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.054449s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.021163s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.067460s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.046833s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.065792s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.061326s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.024059s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.062062s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.042199s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.039969s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.062660s] ... ok {0} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.099807s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.059075s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.067348s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.050885s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.038831s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.086147s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.026000s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.155362s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.036504s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.037328s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.055535s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.033148s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.048768s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.034561s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.049856s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.050818s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.022088s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.014306s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.028020s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.023728s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.038470s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.474086s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.033840s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.055084s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.027675s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.035763s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.183362s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.061403s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.039586s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.030659s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.095460s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.030360s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.036016s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.067949s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.069476s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.089974s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.038100s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.021318s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.029031s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.090627s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.032983s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.020681s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.018149s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.092860s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.031319s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.030651s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.069697s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.039474s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate [0.055945s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.038420s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.069973s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.082743s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_unsupported_vendor [0.050411s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.040529s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.044212s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.048323s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.055554s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.032594s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.103037s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.027125s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.023378s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.040522s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.085036s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.041043s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.037530s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.031856s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.107855s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.048295s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.028243s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.014263s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.019252s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.026869s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.153136s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.017325s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.017365s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.022151s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.015977s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.014727s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.014375s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.100801s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.015512s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.015783s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.032729s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.099035s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.044559s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.023703s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.035911s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.022659s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.034476s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.026847s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.043355s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.027067s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.030535s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.065497s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.023376s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.025855s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.035409s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.077412s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.058777s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.040157s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.054545s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.056271s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.045144s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.303295s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.031298s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.036255s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.040220s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.014980s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.023759s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.044953s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.043800s] ... ok {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.068676s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.018592s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.042280s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.025137s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.017499s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.021270s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.053820s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.033598s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.061771s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.059870s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.029334s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.059342s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.028221s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.033178s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.054526s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.029102s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.039996s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.033354s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.099850s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.049474s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.120520s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.066382s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.062635s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.104015s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.046426s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.052125s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.097551s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.061050s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.081347s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.060202s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.042325s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.059914s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.037858s] ... ok {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.026495s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8535225e-f53a-446b-bcc4-511e6d3a4317 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} POST: /v1/things/ {'three': 'three', 'four': 'fourrrr', 'five': 'five'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e4ff0a30-89f1-4ef6-9bd7-c13d6c3b77fd {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long Failed validating 'maxLength' in schema['properties']['four']\", \"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/foo {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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'}], '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'}]} returning final set {10: []} returning final set {} {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.061663s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.043954s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.064280s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.068322s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.068210s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.045378s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.037331s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.065142s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.058099s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.038774s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.598952s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.027472s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.034217s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.056828s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.059724s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.045458s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.090244s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.055373s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.026843s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.093916s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.065187s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.086916s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.087581s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.061669s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.033039s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.044511s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.145575s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.119784s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.149768s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.126443s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.058733s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.074128s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.062629s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.056465s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.059725s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.037972s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.033406s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.051244s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.040097s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.038689s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.039144s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.016215s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.017173s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.052749s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.016667s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.014945s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.015007s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.015134s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.015382s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.076592s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.020800s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.021772s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.049115s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.023053s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.040690s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.030743s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.017885s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.027169s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.033311s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.028980s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.073911s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.087648s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.080248s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.023951s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.037572s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.044978s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.040518s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.028603s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.021015s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.028931s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.019583s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.018100s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.025033s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.034495s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.014629s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.014904s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.023660s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.017402s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.014299s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.019278s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.019670s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.020616s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.017478s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.057652s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.044606s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.058554s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.072654s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.048703s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.047888s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.058205s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.056890s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.056886s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.032741s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.027448s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.030353s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.021785s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.017278s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.018872s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.037876s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.015070s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.016958s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.025117s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.023721s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.044059s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.053374s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.042176s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.032981s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.053849s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.045420s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.042237s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.045143s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.057940s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.049364s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.044936s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.046875s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.051023s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.037365s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.022519s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.048446s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.022275s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.024178s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.046355s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.063597s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.036963s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.015242s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.015311s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.014527s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.022658s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.018278s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.016186s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.025163s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.015312s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.013757s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.017247s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.021105s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.040235s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.038780s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.323445s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.071077s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.033968s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.055172s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.045826s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.035914s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.055013s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.033325s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.035509s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.052392s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.036499s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.034585s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.054889s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.070448s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.050215s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.060166s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.058673s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.039020s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.024937s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.024182s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.029884s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.034351s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.029527s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.026025s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.032746s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.052796s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.049075s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.036200s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.026258s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.029423s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.029062s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.025184s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.037830s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.044850s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.049390s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.034251s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.026897s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.036790s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.042074s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.031925s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.025587s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.036399s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.049065s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.035122s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.037623s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.042526s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.058322s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.082151s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.049391s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.066079s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.070826s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.062147s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_bios [0.082082s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.113929s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.062316s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.060474s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.081198s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.138854s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.039725s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.043872s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.037974s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.037314s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.074633s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.047312s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.014118s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.034774s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.046789s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.058270s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.062237s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.089961s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.053336s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.082451s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.045091s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.052474s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.060444s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.074005s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.041615s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.062932s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.063564s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.055771s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.031300s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.044632s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.044882s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.043964s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.050182s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.059082s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.057577s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.052109s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.089472s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.079995s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.027089s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.028263s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.034020s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.045697s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.027391s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.018216s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.018629s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.023131s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.030091s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.021076s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.023089s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.043614s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.034740s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.041810s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.047625s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.056207s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.047158s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.040501s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.017916s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.017291s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.021264s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.038095s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.019567s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.018566s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.020006s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.041594s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.055084s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.072568s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.038317s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.109197s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.038854s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.040677s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.070426s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.044309s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.022485s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.013360s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.270300s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.040987s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.020577s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.019437s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.015648s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.014250s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.016908s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.019606s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.022526s] ... 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_default_interfaces [0.058561s] ... 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_raid [0.069635s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.050245s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.037234s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.034429s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.037828s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.039369s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.033779s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.043265s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.038312s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.074862s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.057935s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.056951s] ... ok {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.032931s] ... ok {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.063602s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.021025s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.025272s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.026910s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.036367s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.032478s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.017155s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.018356s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.018863s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.021704s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.016997s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.020584s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.026895s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.022895s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.017592s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.019200s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.028695s] ... ok {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.013198s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.034329s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.013670s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.012742s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.018082s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.018356s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.015788s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.017718s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.033195s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.029519s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.020092s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.018989s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.016886s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.016697s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.019319s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.016025s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.016329s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.030350s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.025087s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.030414s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.028137s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.031685s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.016308s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.017294s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.018734s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.023618s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.018303s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.033214s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.022200s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.038469s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.034258s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.036291s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.021307s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.019318s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.020004s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.017268s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.015678s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.012864s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.012192s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.031956s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.069903s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.069885s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.031637s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.018771s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.015359s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.019209s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.014513s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.032416s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.020440s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.017815s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.015805s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.015786s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.023392s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.037082s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.048704s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.025230s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.028433s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.027606s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.056134s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.045355s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.024039s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.039306s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.027040s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.036666s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.026311s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.024501s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.032791s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.045352s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.035494s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.052205s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.045390s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.030640s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.027733s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.038546s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.031363s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.021020s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.045196s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.039150s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.019768s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.038286s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.023719s] ... ok {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.024524s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fcfe9adf-cb71-45b2-bf60-8391ce57546b {"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-18.3.0.dev130/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-18.3.0.dev130/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/response_content {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50b22ea6-97ef-4f7b-a201-e104db53c498 "nothing" GET: /v1/things/response_custom_status {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-4f034f0e-0a67-47e7-a68e-8ce117d801ca "accepted" 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'}]} func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. Running batches of 50 until migrations have been completed. Malformed option m1key1=value1 Data migrations have not completed. Please re-run. returning final set {10: [1], 11: [4], 12: [7]} {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [180.327559s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.118178s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.137113s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.138695s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.155880s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.066953s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.112552s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.064531s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.069701s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.047743s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.401813s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.059734s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.046685s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.058388s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.028538s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.032674s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.046853s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.021909s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.018183s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.033096s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.023796s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.022553s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.019979s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.045088s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.055315s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.045301s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.050749s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.034371s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.098438s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.058799s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.035995s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.036953s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.032953s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.045232s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.042191s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.023336s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.018876s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.040451s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.035908s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.037273s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.032560s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.048103s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.147590s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.050793s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.035872s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.026099s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.025819s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.032727s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.049423s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.069113s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.088371s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.035569s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.033103s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.017969s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.016035s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.016606s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.021751s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.038540s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.017966s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.017112s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.067907s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.050617s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.020010s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.029948s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.087545s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.055404s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.026638s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.052121s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.057116s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.031677s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.032047s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.026494s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.032104s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.025318s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.022497s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.023486s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.032402s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.021702s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.071095s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.017991s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.014421s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.015650s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.015208s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.055476s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.041530s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.131321s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.087030s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.036975s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.026994s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.023654s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.017116s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.026262s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.015600s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_large_url [0.028707s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_raises_memory_guard [0.016050s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.025631s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.035640s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.020937s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.021623s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.017143s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.017194s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.016446s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.018775s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.026516s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.023552s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.028594s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.033600s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.040529s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.053708s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.075353s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.056164s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.046257s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.074921s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.040813s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.101719s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.110828s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.031707s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.069600s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.066824s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.040765s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.023478s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.899935s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.060055s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.062941s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.026751s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.025682s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.019952s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.020270s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.018748s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.075081s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.045937s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.041673s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.054577s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.051643s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.060184s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.048032s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.080651s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.075903s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.059221s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.063877s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.067465s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.054517s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.075532s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.073840s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.063667s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.037598s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.032349s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.034369s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.029317s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.054046s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.062946s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.086373s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.048200s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.034898s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.049232s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.048768s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.054720s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.033712s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.040620s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.045049s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.044592s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.064956s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.117448s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.084714s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.119162s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.162375s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.123218s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.078741s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.178929s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.155051s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid_default [0.268296s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.206757s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.320696s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.171413s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.160017s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.175558s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.138139s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.179781s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.103351s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.095539s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.060859s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.037007s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.048868s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.074782s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.202312s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.067390s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.042651s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.047340s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.038787s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.102128s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.093107s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.071342s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.418406s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.152322s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.039802s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.081161s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.055304s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.078766s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.067048s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.049519s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.050660s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.180805s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.052228s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.071737s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.065264s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.138603s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.086789s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.103404s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.085793s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.170963s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.081794s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.110964s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.046348s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.073017s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.052815s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.086703s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.061172s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.029079s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.039291s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.114790s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.081551s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.136717s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.098326s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.138317s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.094715s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.151697s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.145026s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.107561s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.145109s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.162239s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.166424s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.273992s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.155953s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.210515s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.041448s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.050326s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.097770s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.032054s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.109571s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.095987s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.040313s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.161163s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.037652s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.047677s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.070870s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.041657s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.091641s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.069001s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.034227s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.036623s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.021699s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.084379s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.129086s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.144468s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.108519s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.038374s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.023262s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.087340s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.037681s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.039614s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.030689s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.037040s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.037539s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.058247s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.064385s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.083410s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.110246s] ... 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.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.122968s] ... 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.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.160320s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.085883s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.116862s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.101136s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.136741s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.084893s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.088560s] ... ok {2} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.182715s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.150477s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.113645s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.233760s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.156090s] ... ok {2} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.148982s] ... ok {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.146784s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.028941s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.050684s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.054763s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.057272s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.052550s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.057107s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.064374s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.080821s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.083790s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.117925s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.059613s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.022252s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.033072s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.023266s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.020483s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.034926s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.030481s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.025386s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.023891s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.083108s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.052911s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.041578s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.067795s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.046537s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.041659s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.027908s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.022802s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.020854s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.053742s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.046856s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.027610s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.050110s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.035884s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.015389s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.020531s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.029293s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.021798s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.019553s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.019258s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.020978s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.033999s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.022229s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.021248s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.033007s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.022183s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.024828s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.018650s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.018120s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.026604s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.036656s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.048992s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.035341s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.045509s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.022686s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.025058s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.019480s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.025087s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.020750s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.034963s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.024384s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.439392s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.086633s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.059715s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.081874s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.125987s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.098777s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.100509s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.106224s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.027688s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.072994s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.029968s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.040525s] ... ok {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.019814s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.018191s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.055694s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.041044s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.047528s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.033804s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.047103s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.042430s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.023969s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.015870s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.016261s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.019661s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.032612s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.022948s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.019709s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.039438s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.028355s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.039116s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.051622s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.041070s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.030488s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.030394s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.032481s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.041564s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.092547s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.037435s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.026772s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.053509s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.035512s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.028420s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.041139s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.032075s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.028705s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.058340s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.062040s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.028913s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.026568s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.027944s] ... ok {2} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.030058s] ... ok {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.022011s] ... ok {'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'}]}]} returning final set {10: [1, 2], 11: [4], 12: [7]} returning final set {10: [], 11: [4], 12: [7]} [NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=684c5bb9-9aa0-4666-8654-ebb6b77cfcbd), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=852c4c6d-da75-4dc7-b6e7-c32c1538a6b0), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=556c67a8-29f2-482d-baa5-fe6c6c0f0d95), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=af005e89-e150-481b-8348-b0f3d11fca36), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=de1caeff-596f-4aaa-a2bb-e476138bd9f8), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=306a52ca-6015-47dc-a591-156b46520847)] returning final set {10: [1, 2], 11: [7, 8], 12: [13, 14]} [NodeHistory(conductor=None,created_at=2021-12-07T09:46:22Z,event='oldthree',event_type=None,id=3,node_id=10,severity=None,updated_at=None,user=None,uuid=271b1a8f-843c-4c9f-9e51-265579e7a318), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='one',event_type='UNKNOWN',id=4,node_id=10,severity='INFO',updated_at=None,user=None,uuid=16ea581f-40d7-4e52-bffb-c096f8e5cb13), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='two',event_type='UNKNOWN',id=5,node_id=10,severity='INFO',updated_at=None,user=None,uuid=c7a8f146-ac94-4476-8f63-ec1a9c66f4c1), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=6,node_id=10,severity='INFO',updated_at=None,user=None,uuid=3b7e134b-579c-423c-8033-81c7bb9620f1), NodeHistory(conductor=None,created_at=2021-12-07T09:46:22Z,event='oldthree',event_type=None,id=9,node_id=11,severity=None,updated_at=None,user=None,uuid=a8f791be-6560-49a6-894a-ba6bae82e753), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='one',event_type='UNKNOWN',id=10,node_id=11,severity='INFO',updated_at=None,user=None,uuid=0112a557-6066-4c07-aba3-1d5c114de02b), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='two',event_type='UNKNOWN',id=11,node_id=11,severity='INFO',updated_at=None,user=None,uuid=a6ea0c4c-440e-4843-82ff-d1e3c04ad7e0), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=12,node_id=11,severity='INFO',updated_at=None,user=None,uuid=4fe83df3-9020-4736-bd08-5939bb3a0017), NodeHistory(conductor=None,created_at=2021-12-07T09:46:22Z,event='oldthree',event_type=None,id=15,node_id=12,severity=None,updated_at=None,user=None,uuid=067839df-a750-4cec-91f1-e511f5771fe6), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='one',event_type='UNKNOWN',id=16,node_id=12,severity='INFO',updated_at=None,user=None,uuid=6ec3c6ef-69fd-4a72-a437-c532262281ed), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='two',event_type='UNKNOWN',id=17,node_id=12,severity='INFO',updated_at=None,user=None,uuid=c7a0c527-f104-409c-b625-d56a64d63fd3), NodeHistory(conductor='fake-mini',created_at=2021-12-14T09:46:22Z,event='three',event_type='UNKNOWN',id=18,node_id=12,severity='INFO',updated_at=None,user=None,uuid=084966a3-3f32-4958-a17b-dfea82dbe76a)] ====== Totals ====== Ran: 8569 tests in 394.2609 sec. - Passed: 8525 - Skipped: 44 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 995.4527 sec. ============== Worker Balance ============== - Worker 0 (2143 tests) => 0:03:23.746296 - Worker 1 (2142 tests) => 0:03:39.332371 - Worker 2 (2142 tests) => 0:06:33.276592 - Worker 3 (2142 tests) => 0:03:07.221809 + RPM_EC=0 ++ jobs -p + exit 0 Processing files: openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.noarch RPM build errors: error: File not found: /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin/ironic File not found: /builddir/build/BUILDROOT/openstack-ironic-18.3.0-0.20211214094200.c0fc88b.el9.x86_64/usr/bin/ironic Child return code was: 1 EXCEPTION: [Error()] Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 600, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, 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