Mock Version: 5.6 Mock Version: 5.6 Mock Version: 5.6 Mock Version: 5.6 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-zed-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=1025gid=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-21.1.3-0.20240919195312.676d4b2.el9.src.rpm Child return code was: 0 Mock Version: 5.6 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-zed-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=1025gid=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-21.1.3-0.20240919195312.676d4b2.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-zed-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=1025gid=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.sRgS4A + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-21.1.3.dev5 + /usr/bin/tar -xof - + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-21.1.3.dev5-0.20240919195312.676d4b2.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-21.1.3.dev5 + /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.cmAziv + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + 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/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/dnsmasq.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp creating build/lib/ironic/tests creating build/lib/ironic/tests/unit 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/api creating build/lib/ironic/api/controllers copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers 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 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/api creating build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/api/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/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/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 creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi creating build/lib/ironic/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 copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_power.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/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/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/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/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/qemu_img.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/nova.py -> build/lib/ironic/common copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/molds.py -> build/lib/ironic/common copying ironic/common/kickstart_utils.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/image_format_inspector.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/args.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common creating build/lib/ironic/cmd copying ironic/cmd/status.py -> build/lib/ironic/cmd copying ironic/cmd/singleprocess.py -> build/lib/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd copying ironic/cmd/conductor.py -> build/lib/ironic/cmd copying ironic/cmd/api.py -> build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd 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/dnsmasq.py -> build/lib/ironic/conf copying ironic/conf/disk_utils.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/anaconda.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf creating build/lib/ironic/drivers/modules 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/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage creating build/lib/ironic/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 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/db 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 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/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 copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic 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/drivers/modules/redfish copying ironic/drivers/modules/redfish/vendor.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/raid.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish 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/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network creating build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/vendor.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/raid.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/management.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/__init__.py -> build/lib/ironic/drivers/modules/ibmc creating build/lib/ironic/tests/unit/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/test_dnsmasq.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating build/lib/ironic/tests/unit/drivers/modules/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/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 creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional 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/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity creating build/lib/ironic/tests/unit/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 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/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network creating build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_qemu_img.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_kickstart_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_format_inspector.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_status.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish creating build/lib/ironic/tests/unit/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/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating build/lib/ironic/drivers/modules/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 copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db creating build/lib/ironic/drivers/modules/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/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 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/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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 copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/initial_grub_cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules 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 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 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/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/boot-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_anaconda.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers 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 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 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.KQfBmf + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 + cd ironic-21.1.3.dev5 + 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-21.1.3-0.20240919195312.676d4b2.el9.x86_64 running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9 creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/verify.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/disk_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/singleprocess.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_format_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/qemu_img.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_format_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_qemu_img.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/version.py to version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/disk_utils.py to disk_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/dnsmasq.py to dnsmasq.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/singleprocess.py to singleprocess.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/image_format_inspector.py to image_format_inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/qemu_img.py to qemu_img.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/firmware_utils.py to firmware_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_format_inspector.py to test_format_inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_qemu_img.py to test_qemu_img.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_dnsmasq.py to test_dnsmasq.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py to test_firmware_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/dnsmasq.py to dnsmasq.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/none.py to none.cpython-39.pyc writing byte-compilation script '/tmp/tmpy8tkqbkj.py' /usr/bin/python3 /tmp/tmpy8tkqbkj.py removing /tmp/tmpy8tkqbkj.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic-21.1.3.dev5-py3.9.egg-info running install_scripts Installing ironic script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/bin/__pycache__ + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf + mv /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.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-21.1.3-0.20240919195312.676d4b2.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 21.1.3-0.20240919195312.676d4b2.el9 --unique-debug-suffix -21.1.3-0.20240919195312.676d4b2.el9.x86_64 --unique-debug-src-base openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 --remove-section .gnu.build.attributes -S debugsourcefiles.list /builddir/build/BUILD/ironic-21.1.3.dev5 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-21.1.3-0.20240919195312.676d4b2.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.mvpWYa + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + PYTHON=/usr/bin/python3 + stestr run 2024-09-19 15:57:22.797 1752933 INFO alembic.runtime.migration [None req-8552b035-de2a-43f7-9a08-0f2f8c5081b6 - - - - - -] Context impl SQLiteImpl. 2024-09-19 15:57:22.798 1752933 INFO alembic.runtime.migration [None req-8552b035-de2a-43f7-9a08-0f2f8c5081b6 - - - - - -] 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 {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [1.142755s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.106891s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.103316s] ... ok 2024-09-19 15:57:23.646 1752955 INFO alembic.runtime.migration [None req-c101418d-5964-4521-9e6f-5c1a177edbf0 - - - - - -] Context impl SQLiteImpl. 2024-09-19 15:57:23.647 1752955 INFO alembic.runtime.migration [None req-c101418d-5964-4521-9e6f-5c1a177edbf0 - - - - - -] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.075829s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.096049s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.050326s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.914391s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.041976s] ... ok 2024-09-19 15:57:23.925 1752919 INFO alembic.runtime.migration [None req-938c9740-722a-42be-8319-ad769c7de6ce - - - - - -] Context impl SQLiteImpl. 2024-09-19 15:57:23.927 1752919 INFO alembic.runtime.migration [None req-938c9740-722a-42be-8319-ad769c7de6ce - - - - - -] Will assume non-transactional DDL. {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.070744s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.038847s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.213660s] ... 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.TestDelete.test_delete_allocation_invalid_node [0.079472s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 2024-09-19 15:57:24.107 1752945 INFO alembic.runtime.migration [None req-726ae284-83f5-476c-b632-d0476682ce14 - - - - - -] Context impl SQLiteImpl. 2024-09-19 15:57:24.108 1752945 INFO alembic.runtime.migration [None req-726ae284-83f5-476c-b632-d0476682ce14 - - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.099149s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.097970s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.069397s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.039848s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.853018s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.065780s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.084660s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.099707s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.083206s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.052702s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.121582s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.058145s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.853731s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.111772s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.171119s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.099430s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.068261s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.198962s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.094397s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.214925s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.063732s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.079879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.078803s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.078691s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.088055s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.052824s] ... ok 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/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/22df9fe6-a4f9-4731-8643-6845da6f9820/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cda40300-c09a-4c5f-8acc-aaed313db98b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22df9fe6-a4f9-4731-8643-6845da6f9820 could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations/eea1aedb-1244-46ec-b05c-a166246d73c7 {} GOT:{'uuid': 'eea1aedb-1244-46ec-b05c-a166246d73c7', 'created_at': '2024-09-19T19:57:24.144483+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/eea1aedb-1244-46ec-b05c-a166246d73c7', 'rel': 'self'}, {'href': 'http://localhost/allocations/eea1aedb-1244-46ec-b05c-a166246d73c7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/eea1aedb-1244-46ec-b05c-a166246d73c7 {} GOT:{'uuid': 'eea1aedb-1244-46ec-b05c-a166246d73c7', 'created_at': '2024-09-19T19:57:24.144483+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/eea1aedb-1244-46ec-b05c-a166246d73c7', 'rel': 'self'}, {'href': 'http://localhost/allocations/eea1aedb-1244-46ec-b05c-a166246d73c7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/node/b9a68d8b-2b42-40c3-98e5-d837e59799f6/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': '3e089c80-2a23-444e-8cbc-d9a6caf73a80', 'created_at': '2024-09-19T19:57:24.252959+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/3e089c80-2a23-444e-8cbc-d9a6caf73a80', 'rel': 'self'}, {'href': 'http://localhost/allocations/3e089c80-2a23-444e-8cbc-d9a6caf73a80', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'fff68389-2ae8-462d-a904-a52bf77a043a', 'created_at': '2024-09-19T19:57:24.257703+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/fff68389-2ae8-462d-a904-a52bf77a043a', 'rel': 'self'}, {'href': 'http://localhost/allocations/fff68389-2ae8-462d-a904-a52bf77a043a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '7ebde3c6-43c2-4e7e-bcf4-213fbf022815', 'created_at': '2024-09-19T19:57:24.261083+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/7ebde3c6-43c2-4e7e-bcf4-213fbf022815', 'rel': 'self'}, {'href': 'http://localhost/allocations/7ebde3c6-43c2-4e7e-bcf4-213fbf022815', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=7ebde3c6-43c2-4e7e-bcf4-213fbf022815'} GET: /v1/allocations {} GOT:{'allocations': []} GET: /v1/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': '61660c81-0048-4404-a231-d45d53770b01', 'created_at': '2024-09-19T19:57:24.486801+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/61660c81-0048-4404-a231-d45d53770b01', 'rel': 'self'}, {'href': 'http://localhost/allocations/61660c81-0048-4404-a231-d45d53770b01', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd9b15c42-e098-4b93-bae6-2c335b357f28', 'created_at': '2024-09-19T19:57:24.489122+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/d9b15c42-e098-4b93-bae6-2c335b357f28', 'rel': 'self'}, {'href': 'http://localhost/allocations/d9b15c42-e098-4b93-bae6-2c335b357f28', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'cf04c7f6-ab25-435c-8318-c650ec650fa2', 'created_at': '2024-09-19T19:57:24.490083+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/cf04c7f6-ab25-435c-8318-c650ec650fa2', 'rel': 'self'}, {'href': 'http://localhost/allocations/cf04c7f6-ab25-435c-8318-c650ec650fa2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': '922449bf-e9f7-4c03-9d3e-f2bbf385333a', 'created_at': '2024-09-19T19:57:24.622364+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/922449bf-e9f7-4c03-9d3e-f2bbf385333a', 'rel': 'self'}, {'href': 'http://localhost/allocations/922449bf-e9f7-4c03-9d3e-f2bbf385333a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': '9693aaad-ea5b-47bd-adaa-8af8b81d3c3f', 'created_at': '2024-09-19T19:57:24.676029+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/9693aaad-ea5b-47bd-adaa-8af8b81d3c3f', 'rel': 'self'}, {'href': 'http://localhost/allocations/9693aaad-ea5b-47bd-adaa-8af8b81d3c3f', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '26222c29-61df-4c63-b86e-09bb3a6cea34', 'created_at': '2024-09-19T19:57:24.676967+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/26222c29-61df-4c63-b86e-09bb3a6cea34', 'rel': 'self'}, {'href': 'http://localhost/allocations/26222c29-61df-4c63-b86e-09bb3a6cea34', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '293ce82e-7545-4be4-8f98-c377d1c010bb', 'created_at': '2024-09-19T19:57:24.677889+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/293ce82e-7545-4be4-8f98-c377d1c010bb', 'rel': 'self'}, {'href': 'http://localhost/allocations/293ce82e-7545-4be4-8f98-c377d1c010bb', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/315fa13d-2f90-4715-8165-0d6b30f40768 {} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.081243s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.100045s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.041640s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.164467s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.077158s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.053558s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.067244s] ... ok DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-a723f164-ab87-4c2c-89c4-f96c58018606 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/allocations/59585030-9a51-4a42-be30-ea2e7c22cb5a GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations?owner=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b7021fd5-d6c2-4c6c-a946-2de5006d7942 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-dbcc3bea-797e-4c02-b115-906a4d4a8a79 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '4a5ad9d0-227d-49cd-b38a-2e191dcbc3d1', 'created_at': '2024-09-19T19:57:24.340248+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/4a5ad9d0-227d-49cd-b38a-2e191dcbc3d1', 'rel': 'self'}, {'href': 'http://localhost/allocations/4a5ad9d0-227d-49cd-b38a-2e191dcbc3d1', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'eae4bd25-6d78-4fb2-90af-b434f7687795', 'created_at': '2024-09-19T19:57:24.341737+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/eae4bd25-6d78-4fb2-90af-b434f7687795', 'rel': 'self'}, {'href': 'http://localhost/allocations/eae4bd25-6d78-4fb2-90af-b434f7687795', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '404b72fd-774a-4a0f-859b-4bf18cb49660', 'created_at': '2024-09-19T19:57:24.342696+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/404b72fd-774a-4a0f-859b-4bf18cb49660', 'rel': 'self'}, {'href': 'http://localhost/allocations/404b72fd-774a-4a0f-859b-4bf18cb49660', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'edad6148-4c2f-4450-a0e4-29a2053896ea', 'created_at': '2024-09-19T19:57:24.343831+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/edad6148-4c2f-4450-a0e4-29a2053896ea', 'rel': 'self'}, {'href': 'http://localhost/allocations/edad6148-4c2f-4450-a0e4-29a2053896ea', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '6618c381-ebdb-4064-a274-aaab405bdd1f', 'created_at': '2024-09-19T19:57:24.344730+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/6618c381-ebdb-4064-a274-aaab405bdd1f', 'rel': 'self'}, {'href': 'http://localhost/allocations/6618c381-ebdb-4064-a274-aaab405bdd1f', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations/16b5caf4-a054-4742-8965-2c6c30d11e16 {} GOT:{'uuid': '16b5caf4-a054-4742-8965-2c6c30d11e16', 'created_at': '2024-09-19T19:57:24.446702+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/16b5caf4-a054-4742-8965-2c6c30d11e16', 'rel': 'self'}, {'href': 'http://localhost/allocations/16b5caf4-a054-4742-8965-2c6c30d11e16', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '154f0ef1-9b5e-4499-8fa7-95f0cf5adf60', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/154f0ef1-9b5e-4499-8fa7-95f0cf5adf60', 'rel': 'self'}, {'href': 'http://localhost/allocations/154f0ef1-9b5e-4499-8fa7-95f0cf5adf60', 'rel': 'bookmark'}]}, {'uuid': 'cfe157be-94e0-49b0-8c85-b0dd47ccc64e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/cfe157be-94e0-49b0-8c85-b0dd47ccc64e', 'rel': 'self'}, {'href': 'http://localhost/allocations/cfe157be-94e0-49b0-8c85-b0dd47ccc64e', 'rel': 'bookmark'}]}, {'uuid': 'e74f23dd-dc92-434d-8347-e48aa2eb56ce', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/e74f23dd-dc92-434d-8347-e48aa2eb56ce', 'rel': 'self'}, {'href': 'http://localhost/allocations/e74f23dd-dc92-434d-8347-e48aa2eb56ce', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=e74f23dd-dc92-434d-8347-e48aa2eb56ce'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': 'dbd5bc18-f2d5-442c-90f1-e7e68f17161a', 'created_at': '2024-09-19T19:57:24.631123+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/dbd5bc18-f2d5-442c-90f1-e7e68f17161a', 'rel': 'self'}, {'href': 'http://localhost/allocations/dbd5bc18-f2d5-442c-90f1-e7e68f17161a', '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/914a1d68-6424-479b-a7b5-065fa8ca71d7', 'rel': 'self'}, {'href': 'http://localhost/allocations/914a1d68-6424-479b-a7b5-065fa8ca71d7', 'rel': 'bookmark'}]} GET: /v1/allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee {} GOT:{'uuid': '31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'created_at': '2024-09-19T19:57:24.857203+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/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'self'}, {'href': 'http://localhost/allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee {} GOT:{'uuid': '31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'created_at': '2024-09-19T19:57:24.857203+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/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'self'}, {'href': 'http://localhost/allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.244893s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.198821s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.134420s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.186641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.041290s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.026601s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.230606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.035769s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.125737s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.085081s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.178488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.115600s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.061549s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.104592s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.183509s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.069662s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.063898s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.086314s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.242049s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.199723s] ... 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/bc6a21b3-95af-46f2-8e8a-7bc1cc4942ec GOT:Response: 204 No Content Openstack-Request-Id: req-4b1f7570-6332-42ad-8a33-7e0d642cc9c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/allocations/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-2349316e-a795-4915-858f-1b7599ee765e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/nodes/c3d01155-7233-4749-a088-f8bc7a0f001d/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-17403673-cbfa-49ae-9c69-879f55e00363 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node c3d01155-7233-4749-a088-f8bc7a0f001d was not found\", \"debuginfo\": null}"} DELETE: /v1/allocations/207c9118-04d5-4177-94e0-01aeef0613e6 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-08aebd0f-9a10-409b-a031-52b76429b696 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/allocations {} 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': '04b7dd79-5962-45e8-999b-260842809daa', 'created_at': '2024-09-19T19:57:24.994125+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/04b7dd79-5962-45e8-999b-260842809daa', 'rel': 'self'}, {'href': 'http://localhost/allocations/04b7dd79-5962-45e8-999b-260842809daa', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '5cdd536e-d690-4507-a772-f5f23d907eb9', 'created_at': '2024-09-19T19:57:24.997773+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/5cdd536e-d690-4507-a772-f5f23d907eb9', 'rel': 'self'}, {'href': 'http://localhost/allocations/5cdd536e-d690-4507-a772-f5f23d907eb9', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '10c64dd0-ec8d-477b-8330-17291beb9998', 'created_at': '2024-09-19T19:57:25.000846+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/10c64dd0-ec8d-477b-8330-17291beb9998', 'rel': 'self'}, {'href': 'http://localhost/allocations/10c64dd0-ec8d-477b-8330-17291beb9998', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=10c64dd0-ec8d-477b-8330-17291beb9998'} GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d251713-bb0d-46e6-95e1-cca2ad255333 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} 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/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/5655ade9-f22d-4b7f-9ab6-59251018db05.json {} GOT:{'uuid': '5655ade9-f22d-4b7f-9ab6-59251018db05', 'created_at': '2024-09-19T19:57:25.242162+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/5655ade9-f22d-4b7f-9ab6-59251018db05', 'rel': 'self'}, {'href': 'http://localhost/allocations/5655ade9-f22d-4b7f-9ab6-59251018db05', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} PATCH: /v1/allocations/8f29926c-34f4-4463-8ed8-d45635b27f8c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31fc9450-4801-4419-99ef-b987b419ea83 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "8f29926c-34f4-4463-8ed8-d45635b27f8c", "created_at": "2024-09-19T19:57:25.312204+00:00", "updated_at": "2024-09-19T19:57:25.337069+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/8f29926c-34f4-4463-8ed8-d45635b27f8c", "rel": "self"}, {"href": "http://localhost/allocations/8f29926c-34f4-4463-8ed8-d45635b27f8c", "rel": "bookmark"}], "node_uuid": null} PATCH: /v1/allocations/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32 [{'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-52dbeef2-0f55-473d-b2d9-38aadeb4cafb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32", "created_at": "2024-09-19T19:57:25.395369+00:00", "updated_at": "2024-09-19T19:57:25.420232+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/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32", "rel": "self"}, {"href": "http://localhost/allocations/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32 {} GOT:{'uuid': '6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32', 'created_at': '2024-09-19T19:57:25.395369+00:00', 'updated_at': '2024-09-19T19:57:25.420232+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/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32', 'rel': 'self'}, {'href': 'http://localhost/allocations/6a7b6d38-ebb0-4d75-a12e-acdf8f89ec32', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/16824676-f318-4f4a-a8e3-2a5a25f07a47 [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c40d6f23-5f15-4645-a6df-f2ba637e7818 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.030872s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.068498s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.050736s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.050739s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.136977s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.153853s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.030782s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.118915s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.073985s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.106766s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.097426s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.047245s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.088370s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.092522s] ... ok 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/2c3f2407-3c0a-4ba0-8ea9-905e590fdebe {} GOT:{'uuid': '2c3f2407-3c0a-4ba0-8ea9-905e590fdebe', 'created_at': '2024-09-19T19:57:24.840217+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/2c3f2407-3c0a-4ba0-8ea9-905e590fdebe', 'rel': 'self'}, {'href': 'http://localhost/allocations/2c3f2407-3c0a-4ba0-8ea9-905e590fdebe', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/a76f5e7d-9a15-439a-9f5c-b1f951b0c086 {} 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/8c1e6677-4b78-4ad5-93ab-0a8e0539516e {} GOT:{'uuid': '8c1e6677-4b78-4ad5-93ab-0a8e0539516e', 'created_at': '2024-09-19T19:57:24.947194+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/8c1e6677-4b78-4ad5-93ab-0a8e0539516e', 'rel': 'self'}, {'href': 'http://localhost/allocations/8c1e6677-4b78-4ad5-93ab-0a8e0539516e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/c6d1acfe-fd2a-473a-8d36-7bf8b2c67818?fields=owner {} GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/c6d1acfe-fd2a-473a-8d36-7bf8b2c67818', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6d1acfe-fd2a-473a-8d36-7bf8b2c67818', 'rel': 'bookmark'}]} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '219fbee0-d520-456a-b271-2ba93827253f', 'created_at': '2024-09-19T19:57:25.282606+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/219fbee0-d520-456a-b271-2ba93827253f', 'rel': 'self'}, {'href': 'http://localhost/allocations/219fbee0-d520-456a-b271-2ba93827253f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04ee03dd-6318-400d-aca1-51421d86962c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a155664c-c01a-499d-b5e1-21b83fc41904", "created_at": "2024-09-19T19:57:25.432834+00:00", "updated_at": "2024-09-19T19:57:25.508842+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/a155664c-c01a-499d-b5e1-21b83fc41904", "rel": "self"}, {"href": "http://localhost/allocations/a155664c-c01a-499d-b5e1-21b83fc41904", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904 {} GOT:{'uuid': 'a155664c-c01a-499d-b5e1-21b83fc41904', 'created_at': '2024-09-19T19:57:25.432834+00:00', 'updated_at': '2024-09-19T19:57:25.508842+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/a155664c-c01a-499d-b5e1-21b83fc41904', 'rel': 'self'}, {'href': 'http://localhost/allocations/a155664c-c01a-499d-b5e1-21b83fc41904', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1417cd4-5a41-4f85-b8e1-5dabf826a484 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a155664c-c01a-499d-b5e1-21b83fc41904", "created_at": "2024-09-19T19:57:25.432834+00:00", "updated_at": "2024-09-19T19:57:25.559339+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904", "rel": "self"}, {"href": "http://localhost/allocations/a155664c-c01a-499d-b5e1-21b83fc41904", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904 {} GOT:{'uuid': 'a155664c-c01a-499d-b5e1-21b83fc41904', 'created_at': '2024-09-19T19:57:25.432834+00:00', 'updated_at': '2024-09-19T19:57:25.559339+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a155664c-c01a-499d-b5e1-21b83fc41904', 'rel': 'self'}, {'href': 'http://localhost/allocations/a155664c-c01a-499d-b5e1-21b83fc41904', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/36916228-3f81-456b-9555-69c2d251d209 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a4ce512-21ae-43ce-a077-fb2512b39000 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} PATCH: /v1/allocations/367e6d88-ea56-4435-85ff-6e14b22f08da [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5e3171b-8cb7-4207-a228-f90cc872ca89 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "367e6d88-ea56-4435-85ff-6e14b22f08da", "created_at": "2024-09-19T19:57:25.782598+00:00", "updated_at": "2024-09-19T19:57:25.794783+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/367e6d88-ea56-4435-85ff-6e14b22f08da", "rel": "self"}, {"href": "http://localhost/allocations/367e6d88-ea56-4435-85ff-6e14b22f08da", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/367e6d88-ea56-4435-85ff-6e14b22f08da {} GOT:{'uuid': '367e6d88-ea56-4435-85ff-6e14b22f08da', 'created_at': '2024-09-19T19:57:25.782598+00:00', 'updated_at': '2024-09-19T19:57:25.794783+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/367e6d88-ea56-4435-85ff-6e14b22f08da', 'rel': 'self'}, {'href': 'http://localhost/allocations/367e6d88-ea56-4435-85ff-6e14b22f08da', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/7c1b4546-e76e-43d9-afe2-22fcac8ee952 [{'path': '/name', 'value': None, 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.052784s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.070711s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.170264s] ... ok GOT:{'uuid': '31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'created_at': '2024-09-19T19:57:24.857203+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/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'self'}, {'href': 'http://localhost/allocations/31577e9a-7c12-42f8-b0e9-c4c4ca3da2ee', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?sort_key=uuid {} GOT:{'allocations': [{'uuid': '769002a0-151e-49c9-bcc0-334ca9aa3981', 'created_at': '2024-09-19T19:57:25.126916+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/769002a0-151e-49c9-bcc0-334ca9aa3981', 'rel': 'self'}, {'href': 'http://localhost/allocations/769002a0-151e-49c9-bcc0-334ca9aa3981', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a429ca62-3094-4e10-9249-a02dd15f7920', 'created_at': '2024-09-19T19:57:25.127816+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/a429ca62-3094-4e10-9249-a02dd15f7920', 'rel': 'self'}, {'href': 'http://localhost/allocations/a429ca62-3094-4e10-9249-a02dd15f7920', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fd29b622-c43d-4757-8237-31c99fa7702f', 'created_at': '2024-09-19T19:57:25.124299+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/fd29b622-c43d-4757-8237-31c99fa7702f', 'rel': 'self'}, {'href': 'http://localhost/allocations/fd29b622-c43d-4757-8237-31c99fa7702f', '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-f4569ba6-6fcd-4916-b4c0-2bae57a06969 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c5e0366f-3fcf-45e7-aa8f-39adab8e7c45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-766c15aa-4823-4291-b27c-e8c137853d33 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1a809588-9e89-4172-9dce-adf469516fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/allocations/82dc09f1-18a8-4faa-8bd9-2129c19d18f0 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6151b799-42c2-473f-bf41-27e003d8880e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/56c6916c-6a92-4547-911f-7babc899872a [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19e8e365-4611-4979-bb60-0c1c32d44f92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} PATCH: /v1/allocations/86324d37-512e-4fcb-a352-86c1afee93aa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-82f494a0-0801-41f2-81da-ca17cba0eb19 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} PATCH: /v1/allocations/62f73164-f38a-4317-9fc6-3288d041e79e [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4f5f72b4-0a22-4729-a7c2-9823f1f70013 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 62f73164-f38a-4317-9fc6-3288d041e79e could not be found.\", \"debuginfo\": null}"} PATCH: /v1/allocations/bda1c1be-05a9-425c-ac3b-fdc93065a7a0 [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67be4c6f-11bf-405b-9161-3d36d245dbb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '479f5f92-cdaa-41ef-af40-7e114af8261f', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/479f5f92-cdaa-41ef-af40-7e114af8261f Openstack-Request-Id: req-df0de5e9-63d8-411b-821a-c91c5e7bd3db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "479f5f92-cdaa-41ef-af40-7e114af8261f", "created_at": "2024-09-19T19:57:25.875173+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/479f5f92-cdaa-41ef-af40-7e114af8261f", "rel": "self"}, {"href": "http://localhost/allocations/479f5f92-cdaa-41ef-af40-7e114af8261f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/479f5f92-cdaa-41ef-af40-7e114af8261f {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.060698s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.123026s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.042345s] ... ok POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0fa74a0c-857b-43b7-b871-005c23f5f429', 'owner': None, 'node': '40e9a899-2497-4d09-8e75-b9c74780a75e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d2729fc-f7fc-4e02-a036-517b57454c11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 40e9a899-2497-4d09-8e75-b9c74780a75e could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a84e143f-c0ca-44c0-8b4d-281ba4b8b679', 'owner': None, 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a84e143f-c0ca-44c0-8b4d-281ba4b8b679 Openstack-Request-Id: req-5f50e6b2-bd26-4890-b1b0-e0aaf5a837c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a84e143f-c0ca-44c0-8b4d-281ba4b8b679", "created_at": "2024-09-19T19:57:25.589211+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/a84e143f-c0ca-44c0-8b4d-281ba4b8b679", "rel": "self"}, {"href": "http://localhost/allocations/a84e143f-c0ca-44c0-8b4d-281ba4b8b679", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/a84e143f-c0ca-44c0-8b4d-281ba4b8b679 {} GOT:{'uuid': 'a84e143f-c0ca-44c0-8b4d-281ba4b8b679', 'created_at': '2024-09-19T19:57:25.589211+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/a84e143f-c0ca-44c0-8b4d-281ba4b8b679', 'rel': 'self'}, {'href': 'http://localhost/allocations/a84e143f-c0ca-44c0-8b4d-281ba4b8b679', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7efb56ac-0520-4aba-b77f-42f3c7d9b8d1', 'owner': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4d25376e-76e6-461a-b2d0-5f8d90af0a1a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7a7749c1-e19a-4d72-a0d4-bc3d21ec2e3e', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01ccad74-3a7b-4711-9f36-f14a0d20a68d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b635d108-8355-4ba3-bd13-8148107582a6', 'owner': '12345'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-036f48d1-4ca1-4699-bdac-d8ebba65a34b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': [], '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': '53995c14-7fd4-48a1-a721-ba5015e98d0e', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/53995c14-7fd4-48a1-a721-ba5015e98d0e Openstack-Request-Id: req-aeba33ac-f6c3-468f-b42a-cbd22cbdb3c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "53995c14-7fd4-48a1-a721-ba5015e98d0e", "created_at": "2024-09-19T19:57:25.826004+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/53995c14-7fd4-48a1-a721-ba5015e98d0e", "rel": "self"}, {"href": "http://localhost/allocations/53995c14-7fd4-48a1-a721-ba5015e98d0e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/53995c14-7fd4-48a1-a721-ba5015e98d0e {} GOT:{'uuid': '53995c14-7fd4-48a1-a721-ba5015e98d0e', 'created_at': '2024-09-19T19:57:25.826004+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/53995c14-7fd4-48a1-a721-ba5015e98d0e', 'rel': 'self'}, {'href': 'http://localhost/allocations/53995c14-7fd4-48a1-a721-ba5015e98d0e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': ['node-1', '941b56d9-4f1f-477d-ab6c-2deb9c153a99'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9af2e575-5ca5-4e00-8d84-427e92ebab7d', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d Openstack-Request-Id: req-f1b760e8-641d-4c90-a9be-f8d3e39d8ebf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9af2e575-5ca5-4e00-8d84-427e92ebab7d", "created_at": "2024-09-19T19:57:25.905845+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "941b56d9-4f1f-477d-ab6c-2deb9c153a99"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d", "rel": "self"}, {"href": "http://localhost/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d {} GOT:{'uuid': '9af2e575-5ca5-4e00-8d84-427e92ebab7d', 'created_at': '2024-09-19T19:57:25.905845+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '941b56d9-4f1f-477d-ab6c-2deb9c153a99'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d', 'rel': 'self'}, {'href': 'http://localhost/allocations/9af2e575-5ca5-4e00-8d84-427e92ebab7d', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'af29a154-66a5-46d9-b514-712808ffa9f5', 'owner': None} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.059233s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.053055s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.042898s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.071195s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.056829s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.162894s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.053087s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.051792s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.091452s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.029381s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.036941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.090987s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.071832s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.026059s] ... ok DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-04140257-b40f-4f54-a9d3-a28dff1f7323 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-ae8acbb0-b74b-4ba4-8c68-cc09f0654fd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eccc725b-7e30-441d-8777-952f36974a4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/b89c13e9-34bd-4474-84e4-c7f55a78fcfb {} GOT:{'uuid': 'b89c13e9-34bd-4474-84e4-c7f55a78fcfb', 'created_at': '2024-09-19T19:57:25.071589+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/b89c13e9-34bd-4474-84e4-c7f55a78fcfb', 'rel': 'self'}, {'href': 'http://localhost/allocations/b89c13e9-34bd-4474-84e4-c7f55a78fcfb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/node/08f292d6-3e72-4d72-a2e5-9b5310d1f06c/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?owner=12345 {} GOT:{'allocations': [{'uuid': 'e627b862-476c-4bf5-8edf-a12b80075b9f', 'created_at': '2024-09-19T19:57:25.406983+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/e627b862-476c-4bf5-8edf-a12b80075b9f', 'rel': 'self'}, {'href': 'http://localhost/allocations/e627b862-476c-4bf5-8edf-a12b80075b9f', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '9bcf7fe9-acae-4172-8054-b10bb90a75aa', 'created_at': '2024-09-19T19:57:25.411661+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/9bcf7fe9-acae-4172-8054-b10bb90a75aa', 'rel': 'self'}, {'href': 'http://localhost/allocations/9bcf7fe9-acae-4172-8054-b10bb90a75aa', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '2e5ef1e4-aaf2-42d7-844c-988ad38a158d', 'created_at': '2024-09-19T19:57:25.412626+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/2e5ef1e4-aaf2-42d7-844c-988ad38a158d', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e5ef1e4-aaf2-42d7-844c-988ad38a158d', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations?owner=12345 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9c0c2473-7ebf-426b-bb75-76e1d519f0d4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=uuid,extra {} GOT:{'allocations': [{'uuid': 'f022605f-75a0-47aa-bba7-d0eec58372c2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/f022605f-75a0-47aa-bba7-d0eec58372c2', 'rel': 'self'}, {'href': 'http://localhost/allocations/f022605f-75a0-47aa-bba7-d0eec58372c2', 'rel': 'bookmark'}]}, {'uuid': '6df63ad5-7b86-4b40-9cb7-d00ac9637e88', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/6df63ad5-7b86-4b40-9cb7-d00ac9637e88', 'rel': 'self'}, {'href': 'http://localhost/allocations/6df63ad5-7b86-4b40-9cb7-d00ac9637e88', 'rel': 'bookmark'}]}, {'uuid': 'ab37a775-99ed-4a1a-b07d-95137acc6bc1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/ab37a775-99ed-4a1a-b07d-95137acc6bc1', 'rel': 'self'}, {'href': 'http://localhost/allocations/ab37a775-99ed-4a1a-b07d-95137acc6bc1', 'rel': 'bookmark'}]}]} GET: /v1/allocations?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/b64f19bf-2a76-45a2-accb-f7d898751423', 'rel': 'self'}, {'href': 'http://localhost/allocations/b64f19bf-2a76-45a2-accb-f7d898751423', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/4e2dbce7-5a1d-4884-adff-88527a8f3fef', 'rel': 'self'}, {'href': 'http://localhost/allocations/4e2dbce7-5a1d-4884-adff-88527a8f3fef', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=4e2dbce7-5a1d-4884-adff-88527a8f3fef'} GET: /v1/allocations/a937ec94-2a4d-4740-be5a-84c68ef92714?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-897a8c4c-d8c0-41e9-962a-11d7a0d0470e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/allocations/99836701-1284-413a-853c-8b54c3fec675?fields=resource_class,extra {} GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/99836701-1284-413a-853c-8b54c3fec675', 'rel': 'self'}, {'href': 'http://localhost/allocations/99836701-1284-413a-853c-8b54c3fec675', 'rel': 'bookmark'}]} GET: /v1/allocations/150b6966-fe9c-4694-894e-ca448d39336e {} GOT:{'uuid': '150b6966-fe9c-4694-894e-ca448d39336e', 'created_at': '2024-09-19T19:57:26.060685+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/150b6966-fe9c-4694-894e-ca448d39336e', 'rel': 'self'}, {'href': 'http://localhost/allocations/150b6966-fe9c-4694-894e-ca448d39336e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations {} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.207312s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1e487e8-b54f-4cfb-9ca0-99bb8ce846b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "7c1b4546-e76e-43d9-afe2-22fcac8ee952", "created_at": "2024-09-19T19:57:25.842663+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/7c1b4546-e76e-43d9-afe2-22fcac8ee952", "rel": "self"}, {"href": "http://localhost/allocations/7c1b4546-e76e-43d9-afe2-22fcac8ee952", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/7c1b4546-e76e-43d9-afe2-22fcac8ee952 {} GOT:{'uuid': '7c1b4546-e76e-43d9-afe2-22fcac8ee952', 'created_at': '2024-09-19T19:57:25.842663+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/7c1b4546-e76e-43d9-afe2-22fcac8ee952', 'rel': 'self'}, {'href': 'http://localhost/allocations/7c1b4546-e76e-43d9-afe2-22fcac8ee952', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/d536fcb9-80e4-4429-a487-04534febd889 Openstack-Request-Id: req-f17761d1-e610-498b-9627-7b9a577b7321 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d536fcb9-80e4-4429-a487-04534febd889", "created_at": "2024-09-19T19:57:25.985884+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/d536fcb9-80e4-4429-a487-04534febd889", "rel": "self"}, {"href": "http://localhost/allocations/d536fcb9-80e4-4429-a487-04534febd889", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/d536fcb9-80e4-4429-a487-04534febd889 {} GOT:{'uuid': 'd536fcb9-80e4-4429-a487-04534febd889', 'created_at': '2024-09-19T19:57:25.985884+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/d536fcb9-80e4-4429-a487-04534febd889', 'rel': 'self'}, {'href': 'http://localhost/allocations/d536fcb9-80e4-4429-a487-04534febd889', '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': '14f2b2e8-2317-4d83-ae47-e2f288cf6b88', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bc6322ec-27ed-438e-bec4-421bb23dba2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"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/5c12d7c7-5646-45ce-9c22-5224d8bf7b90 Openstack-Request-Id: req-e68a9dd5-4d66-4e14-9e3e-f0aedd72b03f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "5c12d7c7-5646-45ce-9c22-5224d8bf7b90", "created_at": "2024-09-19T19:57:26.124257+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/5c12d7c7-5646-45ce-9c22-5224d8bf7b90", "rel": "self"}, {"href": "http://localhost/allocations/5c12d7c7-5646-45ce-9c22-5224d8bf7b90", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/5c12d7c7-5646-45ce-9c22-5224d8bf7b90 {} GOT:{'uuid': '5c12d7c7-5646-45ce-9c22-5224d8bf7b90', 'created_at': '2024-09-19T19:57:26.124257+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/5c12d7c7-5646-45ce-9c22-5224d8bf7b90', 'rel': 'self'}, {'href': 'http://localhost/allocations/5c12d7c7-5646-45ce-9c22-5224d8bf7b90', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1657ed33-8dca-443d-8b9a-d5089bf6c5ef', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1657ed33-8dca-443d-8b9a-d5089bf6c5ef Openstack-Request-Id: req-77c3dfe8-c1d5-4b6b-b218-d025630cb077 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1657ed33-8dca-443d-8b9a-d5089bf6c5ef", "created_at": "2024-09-19T19:57:26.178075+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/1657ed33-8dca-443d-8b9a-d5089bf6c5ef", "rel": "self"}, {"href": "http://localhost/allocations/1657ed33-8dca-443d-8b9a-d5089bf6c5ef", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/1657ed33-8dca-443d-8b9a-d5089bf6c5ef {} GOT:{'uuid': '1657ed33-8dca-443d-8b9a-d5089bf6c5ef', 'created_at': '2024-09-19T19:57:26.178075+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/1657ed33-8dca-443d-8b9a-d5089bf6c5ef', 'rel': 'self'}, {'href': 'http://localhost/allocations/1657ed33-8dca-443d-8b9a-d5089bf6c5ef', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5b092451-0290-49e1-b050-a8130a77e12a'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/5b092451-0290-49e1-b050-a8130a77e12a Openstack-Request-Id: req-6ced13fc-bbe1-4e47-9037-6d63c156ceee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "5b092451-0290-49e1-b050-a8130a77e12a", "created_at": "2024-09-19T19:57:26.217356+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/5b092451-0290-49e1-b050-a8130a77e12a", "rel": "self"}, {"href": "http://localhost/allocations/5b092451-0290-49e1-b050-a8130a77e12a", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/5b092451-0290-49e1-b050-a8130a77e12a {} GOT:{'uuid': '5b092451-0290-49e1-b050-a8130a77e12a', 'created_at': '2024-09-19T19:57:26.217356+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/5b092451-0290-49e1-b050-a8130a77e12a', 'rel': 'self'}, {'href': 'http://localhost/allocations/5b092451-0290-49e1-b050-a8130a77e12a', 'rel': 'bookmark'}], 'node_uuid': None} DELETE: /v1/chassis/02497b94-5ac8-4deb-b2dd-503bda4e014b {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.054263s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.094435s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.117599s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.056391s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.028486s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.123811s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.030878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.044336s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.090218s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.132318s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.094422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.046748s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/af29a154-66a5-46d9-b514-712808ffa9f5 Openstack-Request-Id: req-945da38b-7090-4fe1-9de6-bddbc61c3f3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "af29a154-66a5-46d9-b514-712808ffa9f5", "created_at": "2024-09-19T19:57:25.979946+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/af29a154-66a5-46d9-b514-712808ffa9f5", "rel": "self"}, {"href": "http://localhost/allocations/af29a154-66a5-46d9-b514-712808ffa9f5", "rel": "bookmark"}], "node_uuid": null} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5c14d4e9-4ee3-41b8-a5f1-693c51e7b2c5', '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': 'eab70839-f819-4e00-a684-94e5fabaf56f', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c13762d2-80f5-4bef-b1f7-7664fad01fb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fc9321d2-554c-43dd-863a-78e3706c0831', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/fc9321d2-554c-43dd-863a-78e3706c0831 Openstack-Request-Id: req-419c46d0-6d63-4751-901e-58c6e28b7830 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "fc9321d2-554c-43dd-863a-78e3706c0831", "created_at": "2024-09-19T19:57:26.226679+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/fc9321d2-554c-43dd-863a-78e3706c0831", "rel": "self"}, {"href": "http://localhost/allocations/fc9321d2-554c-43dd-863a-78e3706c0831", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/fc9321d2-554c-43dd-863a-78e3706c0831 {} GOT:{'uuid': 'fc9321d2-554c-43dd-863a-78e3706c0831', 'created_at': '2024-09-19T19:57:26.226679+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/fc9321d2-554c-43dd-863a-78e3706c0831', 'rel': 'self'}, {'href': 'http://localhost/allocations/fc9321d2-554c-43dd-863a-78e3706c0831', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b530d169-0b21-402b-be80-bbdf6964422b', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/b530d169-0b21-402b-be80-bbdf6964422b Openstack-Request-Id: req-f3a0b8d5-0e18-4ebd-a0e1-ac26a6403f16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "b530d169-0b21-402b-be80-bbdf6964422b", "created_at": "2024-09-19T19:57:26.297449+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/b530d169-0b21-402b-be80-bbdf6964422b", "rel": "self"}, {"href": "http://localhost/allocations/b530d169-0b21-402b-be80-bbdf6964422b", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/b530d169-0b21-402b-be80-bbdf6964422b {} GOT:{'uuid': 'b530d169-0b21-402b-be80-bbdf6964422b', 'created_at': '2024-09-19T19:57:26.297449+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/b530d169-0b21-402b-be80-bbdf6964422b', 'rel': 'self'}, {'href': 'http://localhost/allocations/b530d169-0b21-402b-be80-bbdf6964422b', 'rel': 'bookmark'}], 'node_uuid': None} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6332525c-f0f7-4c66-94ea-9177a5177ea3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/2e6431bc-0e10-4d8a-8171-29ff13539fe0', 'rel': 'self'}, {'href': 'http://localhost/chassis/2e6431bc-0e10-4d8a-8171-29ff13539fe0', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/7986c765-618d-432b-886a-d0dc3fb19822', 'rel': 'self'}, {'href': 'http://localhost/chassis/7986c765-618d-432b-886a-d0dc3fb19822', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=7986c765-618d-432b-886a-d0dc3fb19822'} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83e59699-322e-4720-9513-39b635e07cd6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b7d1440-4b1b-49eb-a6f0-f99742019e1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:26.556220+00:00", "updated_at": "2024-09-19T19:57:26.572053+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 {} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.094760s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.070890s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.136072s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.089068s] ... ok GOT:{'uuid': '479f5f92-cdaa-41ef-af40-7e114af8261f', 'created_at': '2024-09-19T19:57:25.875173+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/479f5f92-cdaa-41ef-af40-7e114af8261f', 'rel': 'self'}, {'href': 'http://localhost/allocations/479f5f92-cdaa-41ef-af40-7e114af8261f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '01e7c3ce-bd0e-40aa-8f5b-6f47c13ce347', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f866793-7bc0-49ab-8caa-dc349e750ffb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '54d334ce-b8e4-468c-95f6-4b839150364f', 'owner': None} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '1649759a-a461-4e4e-b5ad-ab9ed018588b', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-572b1084-2332-4e72-8bf5-815a992c4105 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd088612b-0860-42a5-b79b-c21f4a907f4d', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e2d75dff-f1a1-4673-9888-f4b04a998eff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd4251aca-ef67-4b0b-8dbf-df35b28c675a', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/d4251aca-ef67-4b0b-8dbf-df35b28c675a Openstack-Request-Id: req-e4e3f21c-4521-4ed6-a5b1-338cf1b49e96 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d4251aca-ef67-4b0b-8dbf-df35b28c675a", "created_at": "2024-09-19T19:57:26.284490+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/d4251aca-ef67-4b0b-8dbf-df35b28c675a", "rel": "self"}, {"href": "http://localhost/allocations/d4251aca-ef67-4b0b-8dbf-df35b28c675a", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/d4251aca-ef67-4b0b-8dbf-df35b28c675a {} GOT:{'uuid': 'd4251aca-ef67-4b0b-8dbf-df35b28c675a', 'created_at': '2024-09-19T19:57:26.284490+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/d4251aca-ef67-4b0b-8dbf-df35b28c675a', 'rel': 'self'}, {'href': 'http://localhost/allocations/d4251aca-ef67-4b0b-8dbf-df35b28c675a', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '3247ece4-4be7-4070-a8bd-e5b689bfe262', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3247ece4-4be7-4070-a8bd-e5b689bfe262 Openstack-Request-Id: req-c387685d-39e9-4b58-996e-8b024bfff537 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3247ece4-4be7-4070-a8bd-e5b689bfe262", "created_at": "2024-09-19T19:57:26.417146+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/3247ece4-4be7-4070-a8bd-e5b689bfe262", "rel": "self"}, {"href": "http://localhost/allocations/3247ece4-4be7-4070-a8bd-e5b689bfe262", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/3247ece4-4be7-4070-a8bd-e5b689bfe262 {} GOT:{'uuid': '3247ece4-4be7-4070-a8bd-e5b689bfe262', 'created_at': '2024-09-19T19:57:26.417146+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/3247ece4-4be7-4070-a8bd-e5b689bfe262', 'rel': 'self'}, {'href': 'http://localhost/allocations/3247ece4-4be7-4070-a8bd-e5b689bfe262', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': 'a994b3bf-9a6b-4e6a-9df0-45351246730b', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da0059b9-60a6-4be1-a67d-24afaf063bcf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': 'a42adc1b-7ee2-4dbe-8001-dc548b9df639', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a42adc1b-7ee2-4dbe-8001-dc548b9df639 Openstack-Request-Id: req-71bfad57-a95c-4607-aaa3-da01c329de2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a42adc1b-7ee2-4dbe-8001-dc548b9df639", "created_at": "2024-09-19T19:57:26.549474+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/a42adc1b-7ee2-4dbe-8001-dc548b9df639", "rel": "self"}, {"href": "http://localhost/allocations/a42adc1b-7ee2-4dbe-8001-dc548b9df639", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/a42adc1b-7ee2-4dbe-8001-dc548b9df639 {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.092651s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.084613s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.062658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.098580s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.097237s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.142938s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.052431s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.122565s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.066934s] ... ok GOT:{'allocations': [{'uuid': '45e8bbdb-51df-43ef-bac9-a2042bce3b7f', 'created_at': '2024-09-19T19:57:26.166051+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/45e8bbdb-51df-43ef-bac9-a2042bce3b7f', 'rel': 'self'}, {'href': 'http://localhost/allocations/45e8bbdb-51df-43ef-bac9-a2042bce3b7f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2dc4b520-a655-4d78-aeac-c7576845920c', 'created_at': '2024-09-19T19:57:26.190681+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/2dc4b520-a655-4d78-aeac-c7576845920c', 'rel': 'self'}, {'href': 'http://localhost/allocations/2dc4b520-a655-4d78-aeac-c7576845920c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '92bf63d7-8ab3-43b3-a91d-06cef471ab63', 'created_at': '2024-09-19T19:57:26.202224+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/92bf63d7-8ab3-43b3-a91d-06cef471ab63', 'rel': 'self'}, {'href': 'http://localhost/allocations/92bf63d7-8ab3-43b3-a91d-06cef471ab63', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '221752f0-c704-4e6f-a143-5d8ef35d0c37', 'created_at': '2024-09-19T19:57:26.203138+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/221752f0-c704-4e6f-a143-5d8ef35d0c37', 'rel': 'self'}, {'href': 'http://localhost/allocations/221752f0-c704-4e6f-a143-5d8ef35d0c37', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e7147a04-365f-49c6-a108-0387f0f460c3', 'created_at': '2024-09-19T19:57:26.213168+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/e7147a04-365f-49c6-a108-0387f0f460c3', 'rel': 'self'}, {'href': 'http://localhost/allocations/e7147a04-365f-49c6-a108-0387f0f460c3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': '2b42d9fd-5611-4301-b947-eb5dcc422fa8', 'created_at': '2024-09-19T19:57:26.364538+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/2b42d9fd-5611-4301-b947-eb5dcc422fa8', 'rel': 'self'}, {'href': 'http://localhost/allocations/2b42d9fd-5611-4301-b947-eb5dcc422fa8', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'f0ce7cd6-253c-405f-b2c5-fe65f36494a2', 'created_at': '2024-09-19T19:57:26.363650+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/f0ce7cd6-253c-405f-b2c5-fe65f36494a2', 'rel': 'self'}, {'href': 'http://localhost/allocations/f0ce7cd6-253c-405f-b2c5-fe65f36494a2', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'c74aa69d-cbf4-4cdd-be7e-72ca03fdd82d', 'created_at': '2024-09-19T19:57:26.362541+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/c74aa69d-cbf4-4cdd-be7e-72ca03fdd82d', 'rel': 'self'}, {'href': 'http://localhost/allocations/c74aa69d-cbf4-4cdd-be7e-72ca03fdd82d', 'rel': 'bookmark'}], 'node_uuid': None}]} PATCH: /v1/allocations/ee13b1c2-286a-4818-8a4e-b02888f9dac3 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-441f1275-39a1-4276-bbc7-82023b8391a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} PATCH: /v1/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3 [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88ef0ec5-b9eb-4602-8f08-76c7877dcaba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3", "created_at": "2024-09-19T19:57:26.579081+00:00", "updated_at": "2024-09-19T19:57:26.617921+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3", "rel": "self"}, {"href": "http://localhost/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3 {} GOT:{'uuid': '5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3', 'created_at': '2024-09-19T19:57:26.579081+00:00', 'updated_at': '2024-09-19T19:57:26.617921+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3', 'rel': 'self'}, {'href': 'http://localhost/allocations/5ba8a7ec-14cf-4fe0-990a-b2a78ce20ef3', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/e3cd50ff-db70-4732-ba4f-f0d68819484e [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e728898b-76a2-459e-832a-81a5e5977d87 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e3cd50ff-db70-4732-ba4f-f0d68819484e", "created_at": "2024-09-19T19:57:26.700350+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/e3cd50ff-db70-4732-ba4f-f0d68819484e", "rel": "self"}, {"href": "http://localhost/allocations/e3cd50ff-db70-4732-ba4f-f0d68819484e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/e3cd50ff-db70-4732-ba4f-f0d68819484e {} GOT:{'uuid': 'e3cd50ff-db70-4732-ba4f-f0d68819484e', 'created_at': '2024-09-19T19:57:26.700350+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/e3cd50ff-db70-4732-ba4f-f0d68819484e', 'rel': 'self'}, {'href': 'http://localhost/allocations/e3cd50ff-db70-4732-ba4f-f0d68819484e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.042992s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.056003s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.104313s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.083580s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.071998s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.066076s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.040071s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.099796s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.075181s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.091359s] ... ok GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:26.556220+00:00', 'updated_at': '2024-09-19T19:57:26.572053+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/46cd4b74-5d11-49dd-abe1-f2c066d568f6 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0294683-4bca-4613-8c35-6c09136b6006 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 46cd4b74-5d11-49dd-abe1-f2c066d568f6 could not be found.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-27ae3dd3-7178-40f0-9384-0c79c27bcb14 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-44eb653b-00a1-480b-bd04-e5615b26e9f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:26.809358+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"foo": 123}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:26.809358+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/a4bae990-420b-481e-9275-cb0a9005f079 Openstack-Request-Id: req-0b9f3315-7d02-46bb-94a4-bd2cdf4efb2b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a4bae990-420b-481e-9275-cb0a9005f079", "created_at": "2024-09-19T19:57:26.878929+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/a4bae990-420b-481e-9275-cb0a9005f079", "rel": "self"}, {"href": "http://localhost/chassis/a4bae990-420b-481e-9275-cb0a9005f079", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/a4bae990-420b-481e-9275-cb0a9005f079/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a4bae990-420b-481e-9275-cb0a9005f079/nodes", "rel": "bookmark"}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'a4bae990-420b-481e-9275-cb0a9005f079', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/a4bae990-420b-481e-9275-cb0a9005f079', 'rel': 'self'}, {'href': 'http://localhost/chassis/a4bae990-420b-481e-9275-cb0a9005f079', 'rel': 'bookmark'}]}]} 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-27ab08c7-6752-4783-8d1b-f40db8d49120 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} 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-8944226c-4693-456d-a7bc-3ecd8d8146bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:26.979908+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 {} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.035360s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.016020s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.039392s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.076465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.074528s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.087951s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.167736s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.074273s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.079174s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.114688s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.079383s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.051711s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.171784s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-090869e0-6fae-4dca-a668-16b4b301d0a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/38f25931-df20-4238-9677-6a4788dc54b5 Openstack-Request-Id: req-75d5d9c0-28d7-4893-a0ec-f361c9e56902 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "38f25931-df20-4238-9677-6a4788dc54b5", "created_at": "2024-09-19T19:57:26.815428+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/38f25931-df20-4238-9677-6a4788dc54b5", "rel": "self"}, {"href": "http://localhost/allocations/38f25931-df20-4238-9677-6a4788dc54b5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/38f25931-df20-4238-9677-6a4788dc54b5 {} GOT:{'uuid': '38f25931-df20-4238-9677-6a4788dc54b5', 'created_at': '2024-09-19T19:57:26.815428+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/38f25931-df20-4238-9677-6a4788dc54b5', 'rel': 'self'}, {'href': 'http://localhost/allocations/38f25931-df20-4238-9677-6a4788dc54b5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1c444c9d-f76e-4190-b1fb-11366c7c8b44', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1c444c9d-f76e-4190-b1fb-11366c7c8b44 Openstack-Request-Id: req-74aa1d98-c381-4301-a77f-515ae820b873 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1c444c9d-f76e-4190-b1fb-11366c7c8b44", "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/1c444c9d-f76e-4190-b1fb-11366c7c8b44", "rel": "self"}, {"href": "http://localhost/allocations/1c444c9d-f76e-4190-b1fb-11366c7c8b44", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/1c444c9d-f76e-4190-b1fb-11366c7c8b44 {} GOT:{'uuid': '1c444c9d-f76e-4190-b1fb-11366c7c8b44', '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/1c444c9d-f76e-4190-b1fb-11366c7c8b44', 'rel': 'self'}, {'href': 'http://localhost/allocations/1c444c9d-f76e-4190-b1fb-11366c7c8b44', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd2d5fb19-eeb9-466a-98d8-3bc1a468e928', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/d2d5fb19-eeb9-466a-98d8-3bc1a468e928 Openstack-Request-Id: req-ca33b525-4f71-42f4-8903-328573a3e768 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d2d5fb19-eeb9-466a-98d8-3bc1a468e928", "created_at": "2024-09-19T19:57:26.940635+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/d2d5fb19-eeb9-466a-98d8-3bc1a468e928", "rel": "self"}, {"href": "http://localhost/allocations/d2d5fb19-eeb9-466a-98d8-3bc1a468e928", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/d2d5fb19-eeb9-466a-98d8-3bc1a468e928 {} GOT:{'uuid': 'd2d5fb19-eeb9-466a-98d8-3bc1a468e928', 'created_at': '2024-09-19T19:57:26.940635+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/d2d5fb19-eeb9-466a-98d8-3bc1a468e928', 'rel': 'self'}, {'href': 'http://localhost/allocations/d2d5fb19-eeb9-466a-98d8-3bc1a468e928', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '767d06be-a81f-4e9e-9b35-d5bb1d0c53e5', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c065d29-5104-4a78-8d60-bc92e696cfef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '4da11d45-0055-4613-93a0-26740ac5edd0', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/4da11d45-0055-4613-93a0-26740ac5edd0 Openstack-Request-Id: req-0d6fb117-5f3c-48be-a683-ec449ec73773 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "4da11d45-0055-4613-93a0-26740ac5edd0", "created_at": "2024-09-19T19:57:27.125505+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/4da11d45-0055-4613-93a0-26740ac5edd0", "rel": "self"}, {"href": "http://localhost/allocations/4da11d45-0055-4613-93a0-26740ac5edd0", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/4da11d45-0055-4613-93a0-26740ac5edd0 {} GOT:{'uuid': '4da11d45-0055-4613-93a0-26740ac5edd0', 'created_at': '2024-09-19T19:57:27.125505+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/4da11d45-0055-4613-93a0-26740ac5edd0', 'rel': 'self'}, {'href': 'http://localhost/allocations/4da11d45-0055-4613-93a0-26740ac5edd0', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '93eb5cd8-19fd-4b32-9102-43aef2ce489d', 'owner': '12345'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8aa26445-fe01-49c1-b224-617cd714d3e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'd9b6d649-8641-403a-912f-84d761b9a8e4', 'owner': None} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.060582s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f158583a-72d4-43c5-b48c-73fa515ac3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 02497b94-5ac8-4deb-b2dd-503bda4e014b could not be found.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-04a4d3c2-7165-4321-af20-ab3c3a1a0fde X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '2024-09-19T19:57:26.396473+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 {} GOT:{'chassis': []} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{'nodes': [{'uuid': 'da9453ae-272b-4e1b-8206-7ca5f80047b1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/da9453ae-272b-4e1b-8206-7ca5f80047b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/da9453ae-272b-4e1b-8206-7ca5f80047b1', 'rel': 'bookmark'}]}, {'uuid': 'b23cadf3-8b9e-4845-b7da-ad352148dd39', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b23cadf3-8b9e-4845-b7da-ad352148dd39', 'rel': 'self'}, {'href': 'http://localhost/nodes/b23cadf3-8b9e-4845-b7da-ad352148dd39', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': 'da9453ae-272b-4e1b-8206-7ca5f80047b1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/da9453ae-272b-4e1b-8206-7ca5f80047b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/da9453ae-272b-4e1b-8206-7ca5f80047b1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=da9453ae-272b-4e1b-8206-7ca5f80047b1'} GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d016224-7078-4dae-a340-02051a503c54 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?sort_key=uuid {} GOT:{'chassis': [{'uuid': '044bf5dd-5de2-4cf3-9bc1-e8dc001526f0', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/044bf5dd-5de2-4cf3-9bc1-e8dc001526f0', 'rel': 'self'}, {'href': 'http://localhost/chassis/044bf5dd-5de2-4cf3-9bc1-e8dc001526f0', 'rel': 'bookmark'}]}, {'uuid': '9c993601-486e-4247-bd72-c1409f9680df', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/9c993601-486e-4247-bd72-c1409f9680df', 'rel': 'self'}, {'href': 'http://localhost/chassis/9c993601-486e-4247-bd72-c1409f9680df', 'rel': 'bookmark'}]}, {'uuid': 'fe85ac70-b824-47ff-8500-78c227c7f732', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/fe85ac70-b824-47ff-8500-78c227c7f732', 'rel': 'self'}, {'href': 'http://localhost/chassis/fe85ac70-b824-47ff-8500-78c227c7f732', '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-a0a50e45-1982-401a-8bec-7ea7a80330f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:26.745664+00:00", "updated_at": "2024-09-19T19:57:26.782776+00:00", "description": "test", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} PATCH: /v1/chassis/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-d28bccd3-8675-4b1d-8dbd-f6d911bfcfd1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3809b883-776f-457b-882c-01953c75b10a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06a6db12-fd92-43c6-a9ce-5059b183310e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:27.109964+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:27.109964+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'}]]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.096056s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.205092s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.027852s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.066562s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.042293s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.062019s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.084269s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.024839s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.139682s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.057016s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.053613s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.050763s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.072428s] ... ok GOT:{'uuid': 'a42adc1b-7ee2-4dbe-8001-dc548b9df639', 'created_at': '2024-09-19T19:57:26.549474+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/a42adc1b-7ee2-4dbe-8001-dc548b9df639', 'rel': 'self'}, {'href': 'http://localhost/allocations/a42adc1b-7ee2-4dbe-8001-dc548b9df639', 'rel': 'bookmark'}], 'node_uuid': None} GET: /v1/chassis?fields=extra,uuid {} GOT:{'chassis': [{'uuid': '3355474d-9c4e-42f3-95d8-e69cf7f85178', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/3355474d-9c4e-42f3-95d8-e69cf7f85178', 'rel': 'self'}, {'href': 'http://localhost/chassis/3355474d-9c4e-42f3-95d8-e69cf7f85178', 'rel': 'bookmark'}]}, {'uuid': 'd4369010-6974-405a-971e-c2f0104cde24', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/d4369010-6974-405a-971e-c2f0104cde24', 'rel': 'self'}, {'href': 'http://localhost/chassis/d4369010-6974-405a-971e-c2f0104cde24', 'rel': 'bookmark'}]}, {'uuid': 'ed70667c-a40a-4567-9de3-185513a0a547', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/ed70667c-a40a-4567-9de3-185513a0a547', 'rel': 'self'}, {'href': 'http://localhost/chassis/ed70667c-a40a-4567-9de3-185513a0a547', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=ed70667c-a40a-4567-9de3-185513a0a547'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'c4848dff-6573-4b49-a51d-317cc8ef1fd6', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c4848dff-6573-4b49-a51d-317cc8ef1fd6', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4848dff-6573-4b49-a51d-317cc8ef1fd6', 'rel': 'bookmark'}]}, {'uuid': '359229b2-b379-420b-aa32-2f18b86c8a26', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/359229b2-b379-420b-aa32-2f18b86c8a26', 'rel': 'self'}, {'href': 'http://localhost/chassis/359229b2-b379-420b-aa32-2f18b86c8a26', 'rel': 'bookmark'}]}, {'uuid': 'f6381018-5152-4e56-ba70-d526e470bf20', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/f6381018-5152-4e56-ba70-d526e470bf20', 'rel': 'self'}, {'href': 'http://localhost/chassis/f6381018-5152-4e56-ba70-d526e470bf20', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=f6381018-5152-4e56-ba70-d526e470bf20'} GET: /v1/chassis?detail=True&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-29ba6986-c55e-4f6a-b863-0361e1ea1186 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cae0ac31-3992-4d2e-8395-67ba5a3d8d62 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?fields=uuid,extra {} GOT:{'chassis': [{'uuid': '81839cc6-1745-4a50-8dc9-93cd539c8312', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/81839cc6-1745-4a50-8dc9-93cd539c8312', 'rel': 'self'}, {'href': 'http://localhost/chassis/81839cc6-1745-4a50-8dc9-93cd539c8312', 'rel': 'bookmark'}]}, {'uuid': 'fc6d6a3a-a63f-4cd2-ae9e-c632b341a05a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/fc6d6a3a-a63f-4cd2-ae9e-c632b341a05a', 'rel': 'self'}, {'href': 'http://localhost/chassis/fc6d6a3a-a63f-4cd2-ae9e-c632b341a05a', 'rel': 'bookmark'}]}, {'uuid': 'b79040fe-eff7-4a89-b6e4-903f99f4b371', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b79040fe-eff7-4a89-b6e4-903f99f4b371', 'rel': 'self'}, {'href': 'http://localhost/chassis/b79040fe-eff7-4a89-b6e4-903f99f4b371', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b93977e4-7876-4e27-a88a-42fe22908cd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:27.279852+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/0bb765ce-4f58-4156-9e4e-56f704b61649 {} GOT:{'uuid': '0bb765ce-4f58-4156-9e4e-56f704b61649', 'created_at': '2024-09-19T19:57:27.315909+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649 {} GOT:{'uuid': '0bb765ce-4f58-4156-9e4e-56f704b61649', 'created_at': '2024-09-19T19:57:27.315909+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'bookmark'}]]} GET: /chassis/0bb765ce-4f58-4156-9e4e-56f704b61649 {} GOT:{'uuid': '0bb765ce-4f58-4156-9e4e-56f704b61649', 'created_at': '2024-09-19T19:57:27.315909+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/0bb765ce-4f58-4156-9e4e-56f704b61649/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=foo {} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.149568s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.056239s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.083606s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.087633s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.057657s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.195246s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.095688s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.142011s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e71db6b5-774b-4140-96cb-73c7730b072d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '26f050c5-c88a-400e-aa38-8dc63cf7ff92', 'owner': '54321'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2fe2140d-d823-4aec-9331-4e6c534da165 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-18021d12-b443-4891-aaad-789550615284 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-30016c31-46d0-4a84-b0c4-0792d06478e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb0241a5-7818-4df5-91f9-2aae76e51ffe X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/?limit=3 {} GOT:{'chassis': [{'uuid': 'dad65017-39d8-47a5-bf84-dc75d53484e0', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/dad65017-39d8-47a5-bf84-dc75d53484e0', 'rel': 'self'}, {'href': 'http://localhost/chassis/dad65017-39d8-47a5-bf84-dc75d53484e0', 'rel': 'bookmark'}]}, {'uuid': '5cbca4f2-d70e-405d-a8d1-9971c3e5922c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/5cbca4f2-d70e-405d-a8d1-9971c3e5922c', 'rel': 'self'}, {'href': 'http://localhost/chassis/5cbca4f2-d70e-405d-a8d1-9971c3e5922c', 'rel': 'bookmark'}]}, {'uuid': '1dcfec35-3c97-4a88-9bce-2f801113afac', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/1dcfec35-3c97-4a88-9bce-2f801113afac', 'rel': 'self'}, {'href': 'http://localhost/chassis/1dcfec35-3c97-4a88-9bce-2f801113afac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=1dcfec35-3c97-4a88-9bce-2f801113afac'} GET: /v1/chassis?detail=True {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:27.493454+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 {} 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/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf36c897-a386-4cbd-85ac-9a35f1e7e84d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} 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/a7ebee62-2b82-4d95-bc31-5bc25facbecc {} GOT:{'uuid': 'a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'created_at': '2024-09-19T19:57:27.702692+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc {} GOT:{'uuid': 'a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'created_at': '2024-09-19T19:57:27.702692+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'bookmark'}]]} GET: /chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc {} GOT:{'uuid': 'a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'created_at': '2024-09-19T19:57:27.702692+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a7ebee62-2b82-4d95-bc31-5bc25facbecc/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis {} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.138416s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.083218s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.073714s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.102131s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.289271s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.103450s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.113748s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.098018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.130098s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.072009s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.049935s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.076605s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.094579s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.047774s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.043624s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.112729s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.032852s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44f62b54-a18c-4b94-9d7a-002498fd4287 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-324c9a48-00cf-461e-874f-7f1046cb959e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b6282d9e-088f-48b2-92d7-947b6e630c01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/520adfed-81ef-4e31-9d88-54f58a22fd46 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec93269e-f700-41de-a5ef-a858881832b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "520adfed-81ef-4e31-9d88-54f58a22fd46", "created_at": "2024-09-19T19:57:27.843152+00:00", "updated_at": "2024-09-19T19:57:27.872582+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46", "rel": "self"}, {"href": "http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes", "rel": "self"}, {"href": "http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46 {} GOT:{'uuid': '520adfed-81ef-4e31-9d88-54f58a22fd46', 'created_at': '2024-09-19T19:57:27.843152+00:00', 'updated_at': '2024-09-19T19:57:27.872582+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46', 'rel': 'self'}, {'href': 'http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec31847b-4ee5-40c0-b941-11e3650ead4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "520adfed-81ef-4e31-9d88-54f58a22fd46", "created_at": "2024-09-19T19:57:27.843152+00:00", "updated_at": "2024-09-19T19:57:27.939092+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46", "rel": "self"}, {"href": "http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes", "rel": "self"}, {"href": "http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46 {} GOT:{'uuid': '520adfed-81ef-4e31-9d88-54f58a22fd46', 'created_at': '2024-09-19T19:57:27.843152+00:00', 'updated_at': '2024-09-19T19:57:27.939092+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46', 'rel': 'self'}, {'href': 'http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/520adfed-81ef-4e31-9d88-54f58a22fd46/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4f45249-1350-4dd1-8b65-682c030a7bcc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "c7d42a3a-cde1-432e-ab43-d1b565094f1b", "created_at": "2024-09-19T19:57:28.057558+00:00", "updated_at": "2024-09-19T19:57:28.082030+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b", "rel": "self"}, {"href": "http://localhost/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b {} GOT:{'uuid': 'c7d42a3a-cde1-432e-ab43-d1b565094f1b', 'created_at': '2024-09-19T19:57:28.057558+00:00', 'updated_at': '2024-09-19T19:57:28.082030+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b', 'rel': 'self'}, {'href': 'http://localhost/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c7d42a3a-cde1-432e-ab43-d1b565094f1b/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-57743bdf-6494-435c-9409-89ba8c0d0d98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/c4c2a7b1-7335-4616-bfe6-f232486c052b [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d96813fe-1226-4a5f-8a50-531cea1c869f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "c4c2a7b1-7335-4616-bfe6-f232486c052b", "created_at": "2024-09-19T19:57:28.178242+00:00", "updated_at": "2024-09-19T19:57:28.185259+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b", "rel": "self"}, {"href": "http://localhost/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b {} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.040466s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.134612s] ... ok 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-3c83c9d4-027d-4a94-b326-52461de3ace3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?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': '2024-09-19T19:57:27.687332+00:00', 'updated_at': '2024-09-19T19:57:27.687114+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:27.687332+00:00', 'updated_at': '2024-09-19T19:57:27.687114+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /conductors/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:27.687332+00:00', 'updated_at': '2024-09-19T19:57:27.687114+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': '2024-09-19T19:57:27.849505+00:00', 'updated_at': '2024-09-19T19:57:27.838216+00:00', 'hostname': 'why care', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'alive': True}, {'created_at': '2024-09-19T19:57:27.851239+00:00', 'updated_at': '2024-09-19T19:57:27.851100+00:00', 'hostname': 'why not', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b9d2e25-4eb6-4668-940e-5b0fa73d3a83 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '4ed88e04-0847-4693-a1a2-6600076b70a1', 'links': [{'href': 'http://localhost/v1/deploy_templates/4ed88e04-0847-4693-a1a2-6600076b70a1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4ed88e04-0847-4693-a1a2-6600076b70a1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '8c3eea04-aa09-4c3f-9b3f-b0ebbfe435d7', 'links': [{'href': 'http://localhost/v1/deploy_templates/8c3eea04-aa09-4c3f-9b3f-b0ebbfe435d7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8c3eea04-aa09-4c3f-9b3f-b0ebbfe435d7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'c50ca52e-3759-441e-a67a-5af651b3d508', 'links': [{'href': 'http://localhost/v1/deploy_templates/c50ca52e-3759-441e-a67a-5af651b3d508', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c50ca52e-3759-441e-a67a-5af651b3d508', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=c50ca52e-3759-441e-a67a-5af651b3d508'} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': 'ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ba71ec0b-0f0d-4293-8122-c57030ef9d39', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{'deploy_templates': [{'uuid': 'f24647b8-11c5-4480-8109-eeadd78b16bc', 'created_at': '2024-09-19T19:57:28.197775+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/f24647b8-11c5-4480-8109-eeadd78b16bc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f24647b8-11c5-4480-8109-eeadd78b16bc', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '53ca8900-0d0d-40a7-ba4e-971ef912935a', 'created_at': '2024-09-19T19:57:28.196517+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/53ca8900-0d0d-40a7-ba4e-971ef912935a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/53ca8900-0d0d-40a7-ba4e-971ef912935a', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'f92f404d-b7c3-4326-a710-a57af1ef942b', 'created_at': '2024-09-19T19:57:28.195054+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/f92f404d-b7c3-4326-a710-a57af1ef942b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f92f404d-b7c3-4326-a710-a57af1ef942b', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates?fields=uuid,steps {} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.043677s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.111751s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.190126s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.109489s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.058706s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.069209s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.082085s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.060228s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.030706s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.146726s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.048909s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.045775s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.106268s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.070576s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.080179s] ... ok GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:26.979908+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': '94fc43ec-6b92-468d-9840-271b92926a2f', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/94fc43ec-6b92-468d-9840-271b92926a2f', 'rel': 'self'}, {'href': 'http://localhost/conductors/94fc43ec-6b92-468d-9840-271b92926a2f', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'c58a77f4-c9d4-4501-b82b-71a44bc9c52c', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/c58a77f4-c9d4-4501-b82b-71a44bc9c52c', 'rel': 'self'}, {'href': 'http://localhost/conductors/c58a77f4-c9d4-4501-b82b-71a44bc9c52c', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '0952d9a8-8cb3-49c0-9de2-8ed63ba83dc7', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/0952d9a8-8cb3-49c0-9de2-8ed63ba83dc7', 'rel': 'self'}, {'href': 'http://localhost/conductors/0952d9a8-8cb3-49c0-9de2-8ed63ba83dc7', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=0952d9a8-8cb3-49c0-9de2-8ed63ba83dc7'} GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6141e79a-6aeb-4553-89b6-1e84faaf6f2e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:27.276769+00:00', 'updated_at': '2024-09-19T19:57:27.276566+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:27.276769+00:00', 'updated_at': '2024-09-19T19:57:27.276566+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /conductors/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:27.276769+00:00', 'updated_at': '2024-09-19T19:57:27.276566+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=hostname {} GOT:{'conductors': [{'hostname': '18a9e122-ff7f-490c-b629-6b9c97b89319', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/18a9e122-ff7f-490c-b629-6b9c97b89319', 'rel': 'self'}, {'href': 'http://localhost/conductors/18a9e122-ff7f-490c-b629-6b9c97b89319', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '3358b522-ce43-45f9-bd3b-211c4cac2d48', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/3358b522-ce43-45f9-bd3b-211c4cac2d48', 'rel': 'self'}, {'href': 'http://localhost/conductors/3358b522-ce43-45f9-bd3b-211c4cac2d48', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '686a4614-f27d-4981-baac-57bddff4ec7d', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/686a4614-f27d-4981-baac-57bddff4ec7d', 'rel': 'self'}, {'href': 'http://localhost/conductors/686a4614-f27d-4981-baac-57bddff4ec7d', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'ae04186d-491e-4515-abb2-ba913f2549b0', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/ae04186d-491e-4515-abb2-ba913f2549b0', 'rel': 'self'}, {'href': 'http://localhost/conductors/ae04186d-491e-4515-abb2-ba913f2549b0', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'd312daef-2d1e-4b2a-8850-ac5f19f6c315', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/d312daef-2d1e-4b2a-8850-ac5f19f6c315', 'rel': 'self'}, {'href': 'http://localhost/conductors/d312daef-2d1e-4b2a-8850-ac5f19f6c315', 'rel': 'bookmark'}], 'alive': True}]} DELETE: /v1/deploy_templates/3d8a66a2-e9a6-456e-851f-87f012fdca1d GOT:Response: 204 No Content Openstack-Request-Id: req-0c1e114e-637e-4675-beb4-12e8c8b15be6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/deploy_templates/9656dc00-c797-43aa-baf3-30f9a9736f7f 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\"}"} PATCH: /v1/deploy_templates/677cb1f7-6c8e-4821-9959-58b0d18a1ad6 [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4f22a68-1640-436b-a22e-12ae1c78e03b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/8c493156-bddc-45ee-9f0e-b02ef64324d3 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7d64229-b313-4b50-b539-2509e46d2096 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/98da160b-047e-4d19-b41c-2225ba7a01a0 [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2ab3ca7-63bd-40f7-a935-4028e68fee42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/aa18887a-01bf-4e7b-9433-ce0a243cdbea [{'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}]}] {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.548500s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.101922s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.164688s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.057711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.089460s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.154542s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.057977s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.416881s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.072761s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.067837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.029585s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.126463s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.036513s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.124123s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.029806s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.117099s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.084089s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.090116s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.079788s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.068039s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.028960s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.066839s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.062045s] ... ok GOT:{'chassis': [{'uuid': 'b2595582-e4b7-4965-a7c4-b8a4a7674c50', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b2595582-e4b7-4965-a7c4-b8a4a7674c50', 'rel': 'self'}, {'href': 'http://localhost/chassis/b2595582-e4b7-4965-a7c4-b8a4a7674c50', 'rel': 'bookmark'}]}, {'uuid': 'eabc36f8-61a2-4a07-a870-5c6bd1c69fb0', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/eabc36f8-61a2-4a07-a870-5c6bd1c69fb0', 'rel': 'self'}, {'href': 'http://localhost/chassis/eabc36f8-61a2-4a07-a870-5c6bd1c69fb0', 'rel': 'bookmark'}]}, {'uuid': '31e4cc6c-ed03-4e69-b747-28b3623c8794', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/31e4cc6c-ed03-4e69-b747-28b3623c8794', 'rel': 'self'}, {'href': 'http://localhost/chassis/31e4cc6c-ed03-4e69-b747-28b3623c8794', 'rel': 'bookmark'}]}, {'uuid': 'c6fe425b-434e-4733-ba82-357e2c986433', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c6fe425b-434e-4733-ba82-357e2c986433', 'rel': 'self'}, {'href': 'http://localhost/chassis/c6fe425b-434e-4733-ba82-357e2c986433', 'rel': 'bookmark'}]}, {'uuid': 'f8fe2334-981f-4855-b624-11c95f9d5cd4', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/f8fe2334-981f-4855-b624-11c95f9d5cd4', 'rel': 'self'}, {'href': 'http://localhost/chassis/f8fe2334-981f-4855-b624-11c95f9d5cd4', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:27.920554+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': '/description', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4b9c756d-8364-4256-882a-9ae2047b0c9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3bc4e006-540e-40b9-a144-b636e5602b5c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'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-ba3e98df-5643-4f12-8d26-bdc7a35e81c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:57:28.188771+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-19T19:57:28.188771+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/rocky.rocks {} GOT:{'created_at': '2024-09-19T19:57:28.377127+00:00', 'updated_at': '2024-09-19T19:57:28.358202+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-ac53a6b1-efdd-4fb9-a8c4-243a2f248264 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c9806d7-4bf4-4fbb-9b66-b06c7d7c50f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=drivers {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df015e32-1b85-4013-bbd4-8106e8ed50d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-07147eb6-eb6d-46d8-beec-11ed33b0ec05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-09a7ffa9-2cd3-4daa-bf96-467108ad41d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-303b861a-f76f-4e0b-a0fa-70db5113371e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/deploy_templates/bccc9bb5-de97-4498-9af8-176a7c56fb02.json GOT:Response: 204 No Content Openstack-Request-Id: req-f5d21b5c-0761-4fde-87de-2461e06635d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 GET: /v1/deploy_templates {} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.081066s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.078806s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.081637s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.150464s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1fa2f778-7f41-417c-8d3e-47390ae8f275 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/625dab89-03d1-42f8-8505-3128b03b0ef1 [{'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-69a81610-99b3-4f4e-a232-4521dde12fdb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/06c90742-65e4-4be2-913f-3edec53174b3 [{'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-f9dd7445-2aca-4175-a447-7ce226c8553d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "06c90742-65e4-4be2-913f-3edec53174b3", "created_at": "2024-09-19T19:57:28.905576+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/06c90742-65e4-4be2-913f-3edec53174b3", "rel": "self"}, {"href": "http://localhost/deploy_templates/06c90742-65e4-4be2-913f-3edec53174b3", "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-654c3e7f-ac32-4370-bcdf-90156927698c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e4b919cf-9abe-4c55-9ec3-9cfe17cfcf88", "created_at": "2024-09-19T19:57:28.961856+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e4b919cf-9abe-4c55-9ec3-9cfe17cfcf88", "rel": "self"}, {"href": "http://localhost/deploy_templates/e4b919cf-9abe-4c55-9ec3-9cfe17cfcf88", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} PATCH: /v1/deploy_templates/4ea4b1ba-f711-4b60-a866-5c4bca99a21e [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-145a4c14-f573-45a6-a55a-c1d27f12d238 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 4ea4b1ba-f711-4b60-a866-5c4bca99a21e could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f50d71c7-b93a-499f-bea9-d2b70f6f0702', '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/f50d71c7-b93a-499f-bea9-d2b70f6f0702 Openstack-Request-Id: req-9c19c934-bdb0-4aea-a841-3f3d6bb45a8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f50d71c7-b93a-499f-bea9-d2b70f6f0702", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f50d71c7-b93a-499f-bea9-d2b70f6f0702", "rel": "self"}, {"href": "http://localhost/deploy_templates/f50d71c7-b93a-499f-bea9-d2b70f6f0702", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/f50d71c7-b93a-499f-bea9-d2b70f6f0702 {} GOT:{'uuid': 'f50d71c7-b93a-499f-bea9-d2b70f6f0702', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/f50d71c7-b93a-499f-bea9-d2b70f6f0702', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f50d71c7-b93a-499f-bea9-d2b70f6f0702', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5529161c-6f1a-4d1e-9f06-137e36c343cc', '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/5529161c-6f1a-4d1e-9f06-137e36c343cc Openstack-Request-Id: req-91eef569-8701-493a-bdd4-642c76a8498d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "5529161c-6f1a-4d1e-9f06-137e36c343cc", "created_at": "2024-09-19T19:57:29.117020+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5529161c-6f1a-4d1e-9f06-137e36c343cc", "rel": "self"}, {"href": "http://localhost/deploy_templates/5529161c-6f1a-4d1e-9f06-137e36c343cc", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1545b085-3a25-41ed-9c0e-e77b0731019f', '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': '5dde0cfe-e2a2-4a54-a83b-c0a72865e281', 'steps': [], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-726dcf52-b181-462d-a61c-6cbf62f92cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '301de1e6-8515-4f2d-832f-1229e9aeb641', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9296558d-8c18-43ea-b6a9-5d1b358ed2b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.069875s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.103628s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.090145s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.079184s] ... ok GOT:{'uuid': 'c4c2a7b1-7335-4616-bfe6-f232486c052b', 'created_at': '2024-09-19T19:57:28.178242+00:00', 'updated_at': '2024-09-19T19:57:28.185259+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4c2a7b1-7335-4616-bfe6-f232486c052b/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cd1adbb4-703b-4932-835f-3da26a04c442 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} GET: /v1/conductors/?limit=3 {} GOT:{'conductors': [{'hostname': 'f2c4e12c-cfd5-4852-8d9c-f547b14efa2f', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/f2c4e12c-cfd5-4852-8d9c-f547b14efa2f', 'rel': 'self'}, {'href': 'http://localhost/conductors/f2c4e12c-cfd5-4852-8d9c-f547b14efa2f', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '60f96a3a-3b10-4499-94c0-023807c7ee9d', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/60f96a3a-3b10-4499-94c0-023807c7ee9d', 'rel': 'self'}, {'href': 'http://localhost/conductors/60f96a3a-3b10-4499-94c0-023807c7ee9d', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '8038ec58-9e57-4a74-97fa-d62ff283da0b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/8038ec58-9e57-4a74-97fa-d62ff283da0b', 'rel': 'self'}, {'href': 'http://localhost/conductors/8038ec58-9e57-4a74-97fa-d62ff283da0b', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=8038ec58-9e57-4a74-97fa-d62ff283da0b'} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': '3f6d64de-2b53-4a11-ab15-e95c347272f1', 'links': [{'href': 'http://localhost/v1/conductors/3f6d64de-2b53-4a11-ab15-e95c347272f1', 'rel': 'self'}, {'href': 'http://localhost/conductors/3f6d64de-2b53-4a11-ab15-e95c347272f1', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '18e19406-cf93-4fc0-9759-33f69809ec70', 'links': [{'href': 'http://localhost/v1/conductors/18e19406-cf93-4fc0-9759-33f69809ec70', 'rel': 'self'}, {'href': 'http://localhost/conductors/18e19406-cf93-4fc0-9759-33f69809ec70', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '27de8b38-bf3c-4958-9e60-9fed59a19a3a', 'links': [{'href': 'http://localhost/v1/conductors/27de8b38-bf3c-4958-9e60-9fed59a19a3a', 'rel': 'self'}, {'href': 'http://localhost/conductors/27de8b38-bf3c-4958-9e60-9fed59a19a3a', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=27de8b38-bf3c-4958-9e60-9fed59a19a3a'} 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?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}]} GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': '93dc31bf-3348-4d34-aca0-833ce72b6d3f', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/93dc31bf-3348-4d34-aca0-833ce72b6d3f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/93dc31bf-3348-4d34-aca0-833ce72b6d3f', 'rel': 'bookmark'}]}, {'uuid': '08382a08-6c93-452f-a242-7d5de5ddeb0d', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/08382a08-6c93-452f-a242-7d5de5ddeb0d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/08382a08-6c93-452f-a242-7d5de5ddeb0d', 'rel': 'bookmark'}]}, {'uuid': '0630b182-d1c5-4843-b406-2bf0db86a949', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/0630b182-d1c5-4843-b406-2bf0db86a949', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0630b182-d1c5-4843-b406-2bf0db86a949', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=0630b182-d1c5-4843-b406-2bf0db86a949'} GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2cebe80-0d82-4f7d-a3d9-83f77670e666 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/deploy_templates?detail=False&fields=steps {} GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/9bbb78f2-0ec1-4982-ae95-407675fa21c6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9bbb78f2-0ec1-4982-ae95-407675fa21c6', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} GET: /v1/deploy_templates?fields=name&limit=2 {} GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/f7dabffe-9605-4afa-b500-649fc2c844da', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f7dabffe-9605-4afa-b500-649fc2c844da', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/12d0ed37-015f-4bb6-a8e9-cddbf271ae6b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/12d0ed37-015f-4bb6-a8e9-cddbf271ae6b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=12d0ed37-015f-4bb6-a8e9-cddbf271ae6b'} GET: /v1/deploy_templates/420d2647-e889-4836-9f34-803c9bb9ef88 {} GOT:{'uuid': '420d2647-e889-4836-9f34-803c9bb9ef88', 'created_at': '2024-09-19T19:57:29.209850+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/420d2647-e889-4836-9f34-803c9bb9ef88', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/420d2647-e889-4836-9f34-803c9bb9ef88', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/fe3f8843-a9a6-4169-9305-e4416a273988?fields=name,steps {} GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/fe3f8843-a9a6-4169-9305-e4416a273988', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fe3f8843-a9a6-4169-9305-e4416a273988', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/575c79e6-6789-44db-a616-1b44489dcc46.json {} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.097046s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.070272s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.136811s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.033106s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.147761s] ... ok GOT:{'deploy_templates': [{'uuid': 'f78f552c-f939-422a-93d4-daaec45a6d48', 'links': [{'href': 'http://localhost/v1/deploy_templates/f78f552c-f939-422a-93d4-daaec45a6d48', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f78f552c-f939-422a-93d4-daaec45a6d48', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '1a4e3fea-f49e-48d5-9058-7686692cb92e', 'links': [{'href': 'http://localhost/v1/deploy_templates/1a4e3fea-f49e-48d5-9058-7686692cb92e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1a4e3fea-f49e-48d5-9058-7686692cb92e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '23695f2e-b347-49fd-ac78-d0950f020dbd', 'links': [{'href': 'http://localhost/v1/deploy_templates/23695f2e-b347-49fd-ac78-d0950f020dbd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/23695f2e-b347-49fd-ac78-d0950f020dbd', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates/83a1647d-4b84-46bd-ba8f-812564c855b6?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d32d898-d470-428d-bd22-8dfb7b0d8aed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1 {} GOT:{'uuid': '8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'created_at': '2024-09-19T19:57:28.424799+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1 {} GOT:{'uuid': '8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'created_at': '2024-09-19T19:57:28.424799+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1 {} GOT:{'uuid': '8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'created_at': '2024-09-19T19:57:28.424799+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8cb3c686-d86e-49b8-b67c-85c9d471c6d1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} PATCH: /v1/deploy_templates/bc5617c2-99db-47a3-a5e8-c0587efdd1d2 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-319c8d72-c92f-491e-af4a-56c21cc12c7c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "bc5617c2-99db-47a3-a5e8-c0587efdd1d2", "created_at": "2024-09-19T19:57:28.517069+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bc5617c2-99db-47a3-a5e8-c0587efdd1d2", "rel": "self"}, {"href": "http://localhost/deploy_templates/bc5617c2-99db-47a3-a5e8-c0587efdd1d2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} PATCH: /v1/deploy_templates/e080ca7e-2076-48dc-b45e-6544b61bc5de [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-148a93bc-05f8-4f6d-ab95-d034fd55d8dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/73c13763-64f5-4469-95d1-205646bcb156 [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52a94db4-c9c2-46eb-ad89-f0d314a7c100 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/0d71a0b7-2eb7-4c60-8e7f-1e455e261d01 [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f89a3deb-4327-45f6-b301-c8e1a3b7d784 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/0104452b-496c-4e6a-b7b8-fc98bf73a786 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c6281e5-8e80-427f-b1f0-921478b7c052 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/a510b2ea-44f6-4b33-bd73-930af3367fe2 [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ff789c1-e644-474c-a9f3-083dec1e6591 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a510b2ea-44f6-4b33-bd73-930af3367fe2", "created_at": "2024-09-19T19:57:29.357163+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a510b2ea-44f6-4b33-bd73-930af3367fe2", "rel": "self"}, {"href": "http://localhost/deploy_templates/a510b2ea-44f6-4b33-bd73-930af3367fe2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.073760s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.116180s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.099482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.052843s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.107996s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.061860s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.132047s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.055226s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.090199s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.044817s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.126308s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.062436s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.074504s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.100227s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.079159s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.108472s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.099248s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.041134s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.032016s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.076462s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.088327s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.078408s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.087622s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.035068s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.102068s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.021203s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.087419s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.068895s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.113682s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.149799s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.130407s] ... ok GOT:{'deploy_templates': [{'uuid': '5bd25387-3a43-4d4f-9a12-1903656610fd', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/5bd25387-3a43-4d4f-9a12-1903656610fd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5bd25387-3a43-4d4f-9a12-1903656610fd', 'rel': 'bookmark'}]}, {'uuid': 'a6b0e6fd-5b75-4d3f-9e8c-a2ab70ab54de', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a6b0e6fd-5b75-4d3f-9e8c-a2ab70ab54de', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a6b0e6fd-5b75-4d3f-9e8c-a2ab70ab54de', 'rel': 'bookmark'}]}, {'uuid': '0b05b649-0328-4e99-b082-7964a5ac85a0', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/0b05b649-0328-4e99-b082-7964a5ac85a0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0b05b649-0328-4e99-b082-7964a5ac85a0', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=0b05b649-0328-4e99-b082-7964a5ac85a0'} GET: /v1/deploy_templates?detail=True {} GOT:{'deploy_templates': [{'uuid': 'dbe4f64d-4f42-430f-9840-b5f941153e05', 'created_at': '2024-09-19T19:57:29.304818+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/dbe4f64d-4f42-430f-9840-b5f941153e05', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/dbe4f64d-4f42-430f-9840-b5f941153e05', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates/ca783ef0-81cc-428b-b26d-b1f04ea8ecdb {} 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': '5dba2811-68fa-456a-bf0f-9d5bd3387d19', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/5dba2811-68fa-456a-bf0f-9d5bd3387d19', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5dba2811-68fa-456a-bf0f-9d5bd3387d19', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': '560c05ec-2c36-416e-8d8b-bb33835530af', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/560c05ec-2c36-416e-8d8b-bb33835530af', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/560c05ec-2c36-416e-8d8b-bb33835530af', 'rel': 'bookmark'}]}, {'uuid': 'b45485dd-a86d-4461-bb03-a04034d2e76a', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/b45485dd-a86d-4461-bb03-a04034d2e76a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b45485dd-a86d-4461-bb03-a04034d2e76a', 'rel': 'bookmark'}]}, {'uuid': 'ecb16176-5a3c-4d6b-82e1-5f5f962c2e0a', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ecb16176-5a3c-4d6b-82e1-5f5f962c2e0a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ecb16176-5a3c-4d6b-82e1-5f5f962c2e0a', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': 'f8b5f1ee-4af5-4e84-b4bd-43c8634b4424', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f8b5f1ee-4af5-4e84-b4bd-43c8634b4424', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f8b5f1ee-4af5-4e84-b4bd-43c8634b4424', 'rel': 'bookmark'}]}, {'uuid': '7321d0a4-cba9-4b70-a471-56592d7ec0f5', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/7321d0a4-cba9-4b70-a471-56592d7ec0f5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7321d0a4-cba9-4b70-a471-56592d7ec0f5', 'rel': 'bookmark'}]}, {'uuid': '82d03139-bc44-4a1b-98d2-fb658f255fc2', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/82d03139-bc44-4a1b-98d2-fb658f255fc2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/82d03139-bc44-4a1b-98d2-fb658f255fc2', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/519345b1-f525-470a-b1ca-9e2e3b416808 [{'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-ae8b70f7-c77f-4000-87d1-01fa5489214d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "519345b1-f525-470a-b1ca-9e2e3b416808", "created_at": "2024-09-19T19:57:29.894341+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/519345b1-f525-470a-b1ca-9e2e3b416808", "rel": "self"}, {"href": "http://localhost/deploy_templates/519345b1-f525-470a-b1ca-9e2e3b416808", "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/032a37a0-271b-4379-ab80-8a83553dd3ce [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0aafa01-1e97-4c30-9421-504d5d23b69f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/22b8ef60-b647-47b4-85fa-c729bee18fbe [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6da33e3-75c5-4c51-8a7b-c0c4d90367ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/3e84815e-072a-4d90-badf-d768aecdeecb [{'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-aea23aca-c67e-4dc6-9761-d6f06191fe4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/85991967-6db2-4027-9b78-42ce4e0ba01d [{'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.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.056132s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.104849s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.066209s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.111746s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.022389s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.100145s] ... ok POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'abff29f5-8014-42fb-ae41-7429e80a2293', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c35d9bb-f8ba-4e32-a88b-01fa34528e1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '13a7466c-13fb-41a1-81f1-36d316c6c323', '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-00fd24df-12e3-4a22-a0db-903fda230bbd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '924068d6-e6de-416c-8060-8c1b8d8e9938', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ff226f6-b62d-414e-ab8f-bf07d98ac8b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'e1b2c3b5-d351-4fe7-9bdd-96f7ee37332e', '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/e1b2c3b5-d351-4fe7-9bdd-96f7ee37332e Openstack-Request-Id: req-66e385c5-d219-43c6-8772-ab25c64599d0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e1b2c3b5-d351-4fe7-9bdd-96f7ee37332e", "created_at": "2024-09-19T19:57:29.600073+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e1b2c3b5-d351-4fe7-9bdd-96f7ee37332e", "rel": "self"}, {"href": "http://localhost/deploy_templates/e1b2c3b5-d351-4fe7-9bdd-96f7ee37332e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '8f400ebc-68ad-4a35-ab5c-a252a7b3de5c', '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-41c415f4-9366-4fd1-935c-afde51eff779 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f20e8823-7301-427a-999d-bac41fff2d79', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5d81399-2eec-46cf-b455-9f28d7428ef1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '32570246-92cd-4b02-a755-4b180367d57d', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea3c81aa-362f-46f8-8f83-8414556e3fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8fe80b51-5e61-499b-9a76-43a2c1ebb65b', '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-b16e27e8-1a33-4b8a-bcce-9422193a8e01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-935d77a4-4739-41c8-bce5-521e93971dcb X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} 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-dceeac87-096e-4823-a773-ce765a710572 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8a670c31-2100-45ba-8695-4d6197701e16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/drivers?detail=False {} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.059210s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.047671s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11 Openstack-Request-Id: req-f35e3f56-6be5-4130-9803-1f1b617180ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11", "created_at": "2024-09-19T19:57:29.421880+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11", "rel": "self"}, {"href": "http://localhost/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11 {} GOT:{'uuid': '1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11', 'created_at': '2024-09-19T19:57:29.421880+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1a3f0a7f-8c5c-4dcd-8ad1-50dad2741e11', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cfc4ae02-b5b0-4f28-a07d-ee2bb5e42194', '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-d6efba9e-dd3b-4d0f-abba-c32d22b27d48 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': None, 'uuid': 'e162aae5-16c7-4ccd-97d3-d1b559177131', '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-0d53b65d-c5e9-43b3-a26b-b44752f6ae8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6f184050-248c-44df-85fd-7ff2c048f9b2', '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-e72886be-ca12-4660-a6a5-8a97b890770e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6a5fa5f6-c560-408e-9996-1a9e59495aa4', '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-b4058dae-1121-482d-9f03-255ff2129833 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9925ad3a-0096-419a-bc17-b29c85d86969', '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-19c4671e-a99d-4442-a2a3-309ac8ce5c92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a1de6ac2-f601-4178-8e64-37ff0f38489a', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-62a9b008-5d13-44ff-86b5-4c091aa51dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b345a656-d310-49e0-9c25-b498b89e6437', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-297f40a8-8304-4d51-a67e-251b55d5edad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': 'da6a411e-c250-474c-b104-605c53047e29', '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/da6a411e-c250-474c-b104-605c53047e29 Openstack-Request-Id: req-bf473ebb-8bfe-4ac7-97c4-0e7f1ba5c18b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "da6a411e-c250-474c-b104-605c53047e29", "created_at": "2024-09-19T19:57:30.101311+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/da6a411e-c250-474c-b104-605c53047e29", "rel": "self"}, {"href": "http://localhost/deploy_templates/da6a411e-c250-474c-b104-605c53047e29", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f66c2575-6352-4517-8a87-50131b1318f8', '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/f66c2575-6352-4517-8a87-50131b1318f8 Openstack-Request-Id: req-fc86bc12-5cf6-4d44-868e-e9484f23787c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f66c2575-6352-4517-8a87-50131b1318f8", "created_at": "2024-09-19T19:57:30.255448+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f66c2575-6352-4517-8a87-50131b1318f8", "rel": "self"}, {"href": "http://localhost/deploy_templates/f66c2575-6352-4517-8a87-50131b1318f8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} GET: /v1/drivers/driver/properties {} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.053607s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.181343s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.043545s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.047257s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.257348s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.065538s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.104598s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.046959s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.046887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.041800s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.162159s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.032075s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.090196s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.156552s] ... ok GOT:{'uuid': '575c79e6-6789-44db-a616-1b44489dcc46', 'created_at': '2024-09-19T19:57:29.355186+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/575c79e6-6789-44db-a616-1b44489dcc46', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/575c79e6-6789-44db-a616-1b44489dcc46', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/c8dc4b43-11fb-403a-a697-6c2e8f55c52f {} GOT:{'uuid': 'c8dc4b43-11fb-403a-a697-6c2e8f55c52f', 'created_at': '2024-09-19T19:57:29.455109+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c8dc4b43-11fb-403a-a697-6c2e8f55c52f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c8dc4b43-11fb-403a-a697-6c2e8f55c52f', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'cdd208d3-dc24-42f1-89d2-bf163c9b3cec', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/cdd208d3-dc24-42f1-89d2-bf163c9b3cec', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cdd208d3-dc24-42f1-89d2-bf163c9b3cec', 'rel': 'bookmark'}]}, {'uuid': '1d005d48-67cf-4972-a084-6934e7f0802c', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1d005d48-67cf-4972-a084-6934e7f0802c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1d005d48-67cf-4972-a084-6934e7f0802c', 'rel': 'bookmark'}]}, {'uuid': 'd6039798-f8d8-4fb0-b830-19d9fd9d3118', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/d6039798-f8d8-4fb0-b830-19d9fd9d3118', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d6039798-f8d8-4fb0-b830-19d9fd9d3118', 'rel': 'bookmark'}]}, {'uuid': 'b1ebb899-f9c2-4fb8-9871-34793d4c3eac', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/b1ebb899-f9c2-4fb8-9871-34793d4c3eac', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b1ebb899-f9c2-4fb8-9871-34793d4c3eac', 'rel': 'bookmark'}]}, {'uuid': '597b40fd-8346-4b23-81aa-3be9d1946030', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/597b40fd-8346-4b23-81aa-3be9d1946030', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/597b40fd-8346-4b23-81aa-3be9d1946030', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/0a3c500d-bde1-4b84-87ce-1c5652d7ace1 {} GOT:{'uuid': '0a3c500d-bde1-4b84-87ce-1c5652d7ace1', 'created_at': '2024-09-19T19:57:29.677438+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/0a3c500d-bde1-4b84-87ce-1c5652d7ace1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0a3c500d-bde1-4b84-87ce-1c5652d7ace1', '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-5d658874-2782-41ea-8bca-5e31257df81b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/deploy_templates?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a227037c-1330-4330-8f9f-c2ffca3fa0a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-01858c15-c189-41ed-b5ec-76b0446e5cfd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/96cb9202-e589-4cb4-9030-524e6d7450a4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8cdbecd4-0541-4383-8a62-7e4d04841496 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/404725d0-c4cf-44e6-ac42-ca070dc8819c [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0b6817b1-42bc-467f-b7ff-d5a50bcb284c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/8b6b5ccd-4cf6-4311-9562-fc68343236ab [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6daa906b-39fc-4797-8b2e-c16219d8dd14 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/f5abfe2a-e3e1-4034-8948-3ec922c1bcde [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8221bf5f-d5b8-4c70-b904-e557b81f4a61 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/264f51fb-41da-4554-966f-bd7bffe70baa [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50843d33-6e7f-40e4-94e2-6f5b2877bb9d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/1a2eb2a6-d328-4cb1-a0b1-758a600786db [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79e67370-d3a7-487a-8988-8164dc1f24de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/f3721eeb-80ff-4da7-8831-6a5f692b0b89 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-643b9be2-43ca-4f02-a417-aaf407b08bbd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID f3721eeb-80ff-4da7-8831-6a5f692b0b89 already exists.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.467918s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.074152s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.391817s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.176307s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.070211s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.175089s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.167798s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.041435s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.036643s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.033010s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.072833s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.111254s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.044531s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.082993s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.054180s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-476c3fa2-6c7d-4ddc-92ed-d283a6f1c434 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/do_test {} GOT:foo 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-18a79078-5e01-42f7-bf31-dfdb677ffd4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?fields=name,hosts {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers?detail=true&fields=name,hosts {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-39819bb0-9b53-4fd4-8d7f-b607b8d8d12d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0692c0d8-edc9-4803-8ad4-b36a425e7171 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-c1fa9a69-3157-4792-83bc-d4e1350c0b7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers {} GOT:{'drivers': []} GET: /v1/drivers?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_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_power_interface': None, 'enabled_power_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_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.190793s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.067996s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.098642s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.121645s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.052519s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.048356s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.052205s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98a55959-e83c-49fd-bf24-262189213532 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "48cb36d1-c5d3-4ff7-a3c8-3d0e564e463d", "created_at": "2024-09-19T19:57:30.141534+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/48cb36d1-c5d3-4ff7-a3c8-3d0e564e463d", "rel": "self"}, {"href": "http://localhost/deploy_templates/48cb36d1-c5d3-4ff7-a3c8-3d0e564e463d", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/60452065-4c8c-4335-a94d-f6c88dfb503f [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52a0bc9e-21a0-4bb4-985e-ff64266d6a52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "60452065-4c8c-4335-a94d-f6c88dfb503f", "created_at": "2024-09-19T19:57:30.263809+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/60452065-4c8c-4335-a94d-f6c88dfb503f", "rel": "self"}, {"href": "http://localhost/deploy_templates/60452065-4c8c-4335-a94d-f6c88dfb503f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4328fd4b-4ca5-4023-897b-3babf9d2e624', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-89beaf79-1cb4-4496-af98-a33841e237d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '257e932c-6b48-4431-8af0-0819b21b450a', '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-6997eb51-267c-4f91-9c01-72bcf69c6bf3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 42, 'uuid': 'e79a1f45-0b9f-4dcc-a3f9-12fa2ab4add4', '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-76430e14-cab3-421b-b948-dd23362cf027 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8620fb1d-a0e0-4730-bf50-aa06e752cae7', '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-320cd4ab-da4e-46b8-b384-1a8552fa6b9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'fe5dd8e5-0ff0-4e60-9e3f-b27a04837d3d', '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-fd2efae5-474d-430d-b114-c4b50d5f9e4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': 'b807eb22-04ce-42d8-ad13-8e3bfd961eae', '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-87d31fe1-f331-4483-ab3e-90461c77b420 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b9bd12ac-bc5d-487e-af96-e57e03de47de', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45061ed5-e513-4c19-8177-8f9d4bbbf5a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} GET: /v1/drivers/test/properties {} GOT:{'prop1': 'Property 1. Required.'} 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'}]} 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-41b15f0c-4e8b-42d4-8d26-d74095cf3264 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8135cd53-63f2-4d67-bed5-55070986b048 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.129705s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.058484s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.132484s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.084843s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.049047s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.084809s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.151870s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.125802s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-16ffbb24-c90a-415c-976f-4f13b2657177 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct']} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GET: /drivers/fake-hardware-type/properties {} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7672f238-88ed-45ef-94fb-16358be5f338 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:{'drivers': []} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} GET: /v1/drivers/fake-hardware-type {} 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/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?fields=name,invalid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d82fde96-6cc7-44c2-9481-13ea95955440 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': [{'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-0df9eb6d-c549-4fcc-a699-adf31114acf3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-68063947-61be-4553-9268-e946dc975151 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-74fd76a7-74d4-4c6e-a2d6-af67c04ed395 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46ca05e0-704d-43f9-8fdd-014d126d9661 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.097285s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.106277s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.151164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.044797s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.098939s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.026473s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.131405s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.057755s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.088442s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.137840s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.196930s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.091296s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.072180s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.027332s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.033802s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.066802s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.080211s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.078905s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.080245s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.123644s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.065514s] ... ok PATCH: /v1/deploy_templates/49c5393b-b1b2-4d56-8b46-5611c9b9e522 [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a85d789-dd9d-46a8-a84d-1cb8d0fa95a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/aed3d31e-29a3-461f-903a-416180a10431 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8838b293-6406-4128-8aa5-51d6c6852c18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "aed3d31e-29a3-461f-903a-416180a10431", "created_at": "2024-09-19T19:57:30.936670+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/aed3d31e-29a3-461f-903a-416180a10431", "rel": "self"}, {"href": "http://localhost/deploy_templates/aed3d31e-29a3-461f-903a-416180a10431", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '30ab87ab-9752-41c3-b844-0a3a7bbf69d9', '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/30ab87ab-9752-41c3-b844-0a3a7bbf69d9 Openstack-Request-Id: req-51a71320-f0ea-4788-8945-6314a72894a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "30ab87ab-9752-41c3-b844-0a3a7bbf69d9", "created_at": "2024-09-19T19:57:31.088493+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/30ab87ab-9752-41c3-b844-0a3a7bbf69d9", "rel": "self"}, {"href": "http://localhost/deploy_templates/30ab87ab-9752-41c3-b844-0a3a7bbf69d9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/30ab87ab-9752-41c3-b844-0a3a7bbf69d9 {} GOT:{'uuid': '30ab87ab-9752-41c3-b844-0a3a7bbf69d9', 'created_at': '2024-09-19T19:57:31.088493+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/30ab87ab-9752-41c3-b844-0a3a7bbf69d9', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/30ab87ab-9752-41c3-b844-0a3a7bbf69d9', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'uuid': 'fee11e9c-ebfc-4246-896d-9aa193287da5', '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-93e8d00c-7b0b-4b3d-abc3-412f12283aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} 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-2614d4db-bcc9-42ef-9c7a-5681eff3f278 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-784e0cd2-db38-4189-9a22-e744cd483577 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers?fields=name,hosts&detail=false {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-43fa35c6-0bd8-44e4-b482-a6f3e185384e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers?detail=True {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_raid_interface': None, 'enabled_raid_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_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.165539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.065241s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.033922s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.059757s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.056593s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.066429s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.107671s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.177151s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.144134s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.181206s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.091239s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.082752s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.089672s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.106931s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.117965s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.121193s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.054341s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.091832s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.058536s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.076748s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.107708s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.042614s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.125235s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.031337s] ... 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'}], '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_storage_interface': None, 'enabled_storage_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_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/properties {} GET: /drivers/fake-hardware-type/properties {} 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?fields=name,hosts {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-886086c3-70ad-4dab-aeb4-756a5217be45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-7143b6cd-80a5-40e9-ada6-7e0aa071d0b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-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'}]} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} 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-c2d464f1-6989-4fc0-9d61-e0f29751d9ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a407aaed-c63a-4717-86bd-f1013173d876 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}, {'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-524c234e-eef2-4be7-837f-9dab621abf83 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-dcdec47e-1047-49ad-8ce7-db1ebf9236d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.052056s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.037352s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.049179s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.087070s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.084510s] ... 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 {} 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/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-31f4860a-3b83-4985-acdf-43b823c03060 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b223a059-019b-4f4f-ae78-d34674a3f7ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c41fcb64-a923-46e5-9c65-b3aed22613a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e96888f8-f1ab-496a-ba95-8c3e2d279efd X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}, {'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-81d5ad12-2b9c-4bb4-92ee-e910c95073fe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-fdc7955e-741d-4a2e-b78a-726227330a70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-a0264b9e-009a-40a0-bae5-9c9871384f0e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': '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-346e4239-5868-4af4-8a68-37a90b35c945 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/nodes/node-39/vifs {'id': 'b337e1c2-be0c-478f-aff3-3dc515b59554'} GOT:Response: 204 No Content Openstack-Request-Id: req-639c1285-0f8b-4e05-9b0b-0ff2383569b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{'vifs': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18b57dc1-7a5d-40a3-badc-9a3cef29da3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6675de4-bc7a-4dce-810f-906806a670b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '2024-09-19T19:57:32.569456+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'}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.107215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.077487s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.123344s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.024089s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.144044s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.161522s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.066679s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.040747s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.102213s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.124075s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.112216s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.085463s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.101935s] ... 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'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-e2545716-8f54-4fb4-8c68-37071f846c8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-831f8513-2fe7-448f-974c-16dff141b510 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-4162fbab-cd16-42c1-afc5-ef5f0b0a5eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-67a9372b-db7d-413d-aa65-94da4cfdf3dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e61da95d-055c-4c16-a6c7-dbd76f706b6a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '6429d210-2af9-4982-93f1-df50f6e2c933'} GOT:Response: 204 No Content Openstack-Request-Id: req-a8775d03-e104-4c33-aee1-9b9289e2655d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-64051a1f-a989-4ef5-a9aa-43c5516094ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'id': 'a35559f3-18d8-49f2-b718-a1af531b65d0', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d96f67ab-aa6f-485d-9724-f026204d4a3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/75f1af9c-0b65-47c6-8c62-ebc42675ca97 GOT:Response: 204 No Content Openstack-Request-Id: req-ae802c08-8a1b-4475-ad3a-54581cdd3b02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/node-39/vifs/1ccdeea8-6fcb-440c-bcd1-b5a69b6aa5c3 GOT:Response: 204 No Content Openstack-Request-Id: req-55b67b13-4933-4cf1-9514-58c0044f75ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} GOT:{'bios': [{'created_at': '2024-09-19T19:57:32.266144+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 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d54779c-166d-434f-ad97-c415eeafe612 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-18d471ff-a17a-499b-8d08-118c003d55a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6535fd37-8670-4422-bc54-cc2d495aa7e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a4226fa-02c9-4eed-9149-ef1896fd6ce0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} GET: /v1/nodes?associated=true {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.187752s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.146424s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.111425s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.037893s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.112458s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.107991s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.026919s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.075301s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.054076s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.029656s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.080562s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.055321s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.139525s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.146829s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.037745s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.163841s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.059782s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.030879s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.074477s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.049743s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.131289s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.111991s] ... 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-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/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-735cb5ea-7543-4d0a-9a01-b4c3371d251f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': ['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-268a0d60-eb3c-48b9-9f52-ea11e175a989 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', '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-a9968edf-7e70-40f2-9930-d2b6ab0af5df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b6c3173-059d-466e-9d63-fd3ce7a5e81a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c9c0f09-cced-4776-a66a-160c6dc995b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a433af0f-5f44-4faf-9aba-e999d2839ac6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5cb0e825-e2d9-4ff7-8399-bbd56eeaa552 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': '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-2192303b-b9c6-4c63-85c7-9fba2f93c0df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'ae1926ce-5b99-4b0e-a5d9-dfdbbd45c76d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-326a08d5-c7f8-4ed6-851f-bee133272c46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/50882729-f81f-4b25-9483-8c737ba59084 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-63e7dab6-a33e-4ff6-958f-8dc5d3f6e91f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} DELETE: /v1/nodes/doesntexist/vifs/9b952134-c0cb-4d52-8703-ca4e641f0b3a GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80ab7949-f6a2-4efa-9bd0-ff3fff730662 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: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=False {} GOT:{'bios': [{'created_at': '2024-09-19T19:57:33.380469+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.140032s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.024760s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.040181s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.118663s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{'virtualization': {'created_at': '2024-09-19T19:57:32.695639+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:{'virtualization': {'created_at': '2024-09-19T19:57:32.786182+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0033a318-f5a3-4601-8b17-1cdc6f4ceb6d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-ef38a4c4-cae6-4b9e-8246-72513b6812b5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e965d316-0188-4a20-a657-d52d3d55d383 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0eb5813-7ec9-4cb3-9728-9f82f80a28b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-262de937-1da5-419c-9406-1f489bba9f0c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9cad8772-83f4-4ee8-96f2-e4c79c5918e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:33.514294+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?sort_key=resource_class {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.097400s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.090878s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.040699s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.153658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.075421s] ... ok GOT:{'nodes': [{'uuid': '7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'instance_uuid': 'a2622f0d-d5a8-4d06-a3bd-6ab244d00b2f', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'rel': 'self'}, {'href': 'http://localhost/nodes/7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'rel': 'bookmark'}]}, {'uuid': '98f35b97-76fe-4edc-8143-b5f858e1ba23', 'instance_uuid': '81595aea-8e6a-465d-972a-2db1ae2e162b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/98f35b97-76fe-4edc-8143-b5f858e1ba23', 'rel': 'self'}, {'href': 'http://localhost/nodes/98f35b97-76fe-4edc-8143-b5f858e1ba23', 'rel': 'bookmark'}]}, {'uuid': '03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'instance_uuid': '83e0282b-0a2e-44f7-8bca-f56b5f411206', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'rel': 'self'}, {'href': 'http://localhost/nodes/03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'rel': 'bookmark'}]}, {'uuid': '4cae3880-9d60-4e47-9d20-851b0f3eca93', 'instance_uuid': '43d44770-fab9-4e9c-8856-d338f026d9da', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4cae3880-9d60-4e47-9d20-851b0f3eca93', 'rel': 'self'}, {'href': 'http://localhost/nodes/4cae3880-9d60-4e47-9d20-851b0f3eca93', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': '7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'instance_uuid': 'a2622f0d-d5a8-4d06-a3bd-6ab244d00b2f', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'rel': 'self'}, {'href': 'http://localhost/nodes/7786aca6-8418-4e72-b81f-ba3bcb7a1191', 'rel': 'bookmark'}]}, {'uuid': '98f35b97-76fe-4edc-8143-b5f858e1ba23', 'instance_uuid': '81595aea-8e6a-465d-972a-2db1ae2e162b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/98f35b97-76fe-4edc-8143-b5f858e1ba23', 'rel': 'self'}, {'href': 'http://localhost/nodes/98f35b97-76fe-4edc-8143-b5f858e1ba23', 'rel': 'bookmark'}]}, {'uuid': '03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'instance_uuid': '83e0282b-0a2e-44f7-8bca-f56b5f411206', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'rel': 'self'}, {'href': 'http://localhost/nodes/03afcae1-9fa7-4c93-8877-b7a9d6b1167c', 'rel': 'bookmark'}]}, {'uuid': '4cae3880-9d60-4e47-9d20-851b0f3eca93', 'instance_uuid': '43d44770-fab9-4e9c-8856-d338f026d9da', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4cae3880-9d60-4e47-9d20-851b0f3eca93', 'rel': 'self'}, {'href': 'http://localhost/nodes/4cae3880-9d60-4e47-9d20-851b0f3eca93', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fields=driver_info,uuid {} GOT:{'nodes': [{'uuid': '5cf7a1e8-1920-48ff-bc4e-e7ec65bccf98', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/5cf7a1e8-1920-48ff-bc4e-e7ec65bccf98', 'rel': 'self'}, {'href': 'http://localhost/nodes/5cf7a1e8-1920-48ff-bc4e-e7ec65bccf98', 'rel': 'bookmark'}]}, {'uuid': '2c8541c9-6485-4772-83df-0d801da13527', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/2c8541c9-6485-4772-83df-0d801da13527', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c8541c9-6485-4772-83df-0d801da13527', 'rel': 'bookmark'}]}, {'uuid': 'dd4875da-3145-4aee-aade-bfe69f656239', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/dd4875da-3145-4aee-aade-bfe69f656239', 'rel': 'self'}, {'href': 'http://localhost/nodes/dd4875da-3145-4aee-aade-bfe69f656239', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=dd4875da-3145-4aee-aade-bfe69f656239'} GET: /v1/nodes?instance_uuid=14b8d38d-9b72-4235-8f22-ab328b664591 {} GOT:{'nodes': [{'uuid': '67c46fbc-edb1-465b-8d1d-7723c7aa201d', 'instance_uuid': '14b8d38d-9b72-4235-8f22-ab328b664591', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/67c46fbc-edb1-465b-8d1d-7723c7aa201d', 'rel': 'self'}, {'href': 'http://localhost/nodes/67c46fbc-edb1-465b-8d1d-7723c7aa201d', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:33.346607+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b77865ee-0ecb-4139-97f8-57edd3fde913 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} 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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.214004s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.086595s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.102558s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.097340s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.126666s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.144391s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.080510s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.107794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.061173s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.061098s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.069193s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.165362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.121936s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.087265s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.179311s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.226831s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.115686s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.151193s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.058774s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.094089s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.189612s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.174125s] ... ok GOT:{'nodes': [{'uuid': '84401f0a-16e7-4fb9-a3cf-bacf54fbfa85', 'created_at': '2024-09-19T19:57:33.579803+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/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85', 'rel': 'self'}, {'href': 'http://localhost/nodes/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/84401f0a-16e7-4fb9-a3cf-bacf54fbfa85/states', 'rel': 'bookmark'}]}, {'uuid': '3df66295-a910-411a-ae53-0cd0aef93868', 'created_at': '2024-09-19T19:57:33.577431+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/3df66295-a910-411a-ae53-0cd0aef93868', 'rel': 'self'}, {'href': 'http://localhost/nodes/3df66295-a910-411a-ae53-0cd0aef93868', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3df66295-a910-411a-ae53-0cd0aef93868/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3df66295-a910-411a-ae53-0cd0aef93868/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3df66295-a910-411a-ae53-0cd0aef93868/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3df66295-a910-411a-ae53-0cd0aef93868/states', 'rel': 'bookmark'}]}, {'uuid': 'e444b71a-3729-4b64-a55a-f81ace313167', 'created_at': '2024-09-19T19:57:33.574314+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/e444b71a-3729-4b64-a55a-f81ace313167', 'rel': 'self'}, {'href': 'http://localhost/nodes/e444b71a-3729-4b64-a55a-f81ace313167', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e444b71a-3729-4b64-a55a-f81ace313167/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e444b71a-3729-4b64-a55a-f81ace313167/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e444b71a-3729-4b64-a55a-f81ace313167/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e444b71a-3729-4b64-a55a-f81ace313167/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f7a9f2cb-5ec3-4cc0-ae41-fb5aa1fc5ded X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?detail=False&fields=name {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes/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-6d8aa251-03a2-47e8-9418-2deb62a25365 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80e683d8-9242-4d22-a07c-e0293da4beba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b3772d2d-9930-4ec5-a680-71e7e4b934a0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-e80fb226-a722-47d4-a0f7-887b34dac7d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?description_contains=cat {} GOT:{'nodes': [{'uuid': 'f1693ab2-4a2f-41f8-94be-3cf8a0cd3084', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f1693ab2-4a2f-41f8-94be-3cf8a0cd3084', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1693ab2-4a2f-41f8-94be-3cf8a0cd3084', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.071713s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.166323s] ... ok 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-6f9ac10e-3d8d-45c1-a77a-ed408c11b58c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"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-f8317ea6-162c-41ed-8a74-54c531b9bfa8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bc30d5f-3b80-4324-a19e-e285d9298a07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/nodes/node-39/vifs {'id': '8c2d164b-5200-44ee-b6b1-d81e0aaed4cb'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e8bd68f-e4c1-497f-931a-5133e924eac4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'c11fb2d9-32af-4cfc-9935-dca78a944056'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a457588c-60d9-4524-b7e2-c2186aa4cc01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '53e54353-e069-4b81-96b5-5260e8da9a1b'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f13c9ab8-f442-47f9-9855-b4b6da3dfb93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'c94b0b37-05e0-4e5f-a34c-31c7ec9aaae8', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 204 No Content Openstack-Request-Id: req-5d9b9749-7ef6-4895-a8c7-4c7f97a4d0c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:{'bios': [{'created_at': '2024-09-19T19:57:33.223845+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/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5c7d4993-5f21-4933-8fbf-bd4d13a5f98e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-a15c753d-9e14-4789-803f-ddcdf7ddc3f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-d650eb33-909c-498c-b263-b1dcadaa1966 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b93ff9d-eb75-4052-8064-aef9295bd721 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-df93b7a8-8a70-44f7-9557-ae129461b693 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-9a93fba4-4a6c-48b9-ae60-2d0a20ae51a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b5e6b21-1560-4118-917d-e50ee3483b92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid associated: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9d83f969-23ce-4556-8d90-e45280caa213 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.161614s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.079973s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.127732s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.079395s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c09c7dc8-e7d9-479c-9418-3d57ab34dd81 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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.json GOT:Response: 204 No Content Openstack-Request-Id: req-e234edf0-6140-403a-b24d-8b25ecd4e56c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f9a9da38-11e0-49dd-91e8-8229fc341d5b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} GET: /v1/nodes/?limit=3 {} GOT:{'nodes': [{'uuid': '81a0024f-9ec1-4529-80a9-fe2359ef8f5f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/81a0024f-9ec1-4529-80a9-fe2359ef8f5f', 'rel': 'self'}, {'href': 'http://localhost/nodes/81a0024f-9ec1-4529-80a9-fe2359ef8f5f', 'rel': 'bookmark'}]}, {'uuid': '8b532b0d-9455-4f3c-a530-d0379270e117', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8b532b0d-9455-4f3c-a530-d0379270e117', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b532b0d-9455-4f3c-a530-d0379270e117', 'rel': 'bookmark'}]}, {'uuid': '50191efb-d341-44b1-9a49-a4179a822707', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/50191efb-d341-44b1-9a49-a4179a822707', 'rel': 'self'}, {'href': 'http://localhost/nodes/50191efb-d341-44b1-9a49-a4179a822707', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=50191efb-d341-44b1-9a49-a4179a822707'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '05e795e6-a172-4aba-bdf4-f13cf0a4f1d7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/05e795e6-a172-4aba-bdf4-f13cf0a4f1d7', 'rel': 'self'}, {'href': 'http://localhost/nodes/05e795e6-a172-4aba-bdf4-f13cf0a4f1d7', 'rel': 'bookmark'}]}, {'uuid': '7f64fe36-fafc-4771-8a7c-5bc42d778289', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7f64fe36-fafc-4771-8a7c-5bc42d778289', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f64fe36-fafc-4771-8a7c-5bc42d778289', 'rel': 'bookmark'}]}, {'uuid': '8456c288-afcd-4661-b10e-80cbd5e5ae82', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8456c288-afcd-4661-b10e-80cbd5e5ae82', 'rel': 'self'}, {'href': 'http://localhost/nodes/8456c288-afcd-4661-b10e-80cbd5e5ae82', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=8456c288-afcd-4661-b10e-80cbd5e5ae82'} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '810aa28a-ae6d-4456-924d-550a883f2cd3', 'created_at': '2024-09-19T19:57:34.323053+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/810aa28a-ae6d-4456-924d-550a883f2cd3', 'rel': 'self'}, {'href': 'http://localhost/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/810aa28a-ae6d-4456-924d-550a883f2cd3/volume', 'rel': 'bookmark'}]}, {'uuid': '14fa93f8-8d7e-4d61-821d-ff97bb7a16d6', 'created_at': '2024-09-19T19:57:34.346308+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/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/14fa93f8-8d7e-4d61-821d-ff97bb7a16d6/volume', 'rel': 'bookmark'}]}, {'uuid': 'b68640f4-8f1d-4546-9620-cad6c3087304', 'created_at': '2024-09-19T19:57:34.353318+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/b68640f4-8f1d-4546-9620-cad6c3087304', 'rel': 'self'}, {'href': 'http://localhost/nodes/b68640f4-8f1d-4546-9620-cad6c3087304', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b68640f4-8f1d-4546-9620-cad6c3087304/volume', 'rel': 'bookmark'}]}, {'uuid': '5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d', 'created_at': '2024-09-19T19:57:34.365201+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/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bb6f53c-eb4f-4004-ad18-c1ee4a1bed3d/volume', 'rel': 'bookmark'}]}, {'uuid': '78256a75-b427-4e80-957b-08bc1aa16cf0', 'created_at': '2024-09-19T19:57:34.391137+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/78256a75-b427-4e80-957b-08bc1aa16cf0', 'rel': 'self'}, {'href': 'http://localhost/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/78256a75-b427-4e80-957b-08bc1aa16cf0/volume', 'rel': 'bookmark'}]}, {'uuid': '52429a2f-de50-4111-a101-420f2e450c8b', 'created_at': '2024-09-19T19:57:34.394343+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/52429a2f-de50-4111-a101-420f2e450c8b', 'rel': 'self'}, {'href': 'http://localhost/nodes/52429a2f-de50-4111-a101-420f2e450c8b', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/52429a2f-de50-4111-a101-420f2e450c8b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/52429a2f-de50-4111-a101-420f2e450c8b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/52429a2f-de50-4111-a101-420f2e450c8b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/52429a2f-de50-4111-a101-420f2e450c8b/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/52429a2f-de50-4111-a101-420f2e450c8b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/52429a2f-de50-4111-a101-420f2e450c8b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/52429a2f-de50-4111-a101-420f2e450c8b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/52429a2f-de50-4111-a101-420f2e450c8b/volume', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.250525s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.126169s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.156762s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.264332s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.118333s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.077284s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.046349s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.043300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.068083s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.098074s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.052575s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.482819s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.220889s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.078791s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.073829s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.040285s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.034972s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.148505s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.046064s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:34.410067+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': '46c0bf8a-846d-49a5-9724-5a61a5efa6bf', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': []} GET: /v1/nodes/detail?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ae6ae36e-9b80-41cd-a049-c59023cc1ed8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=True {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:34.727342+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?fields=name&limit=2 {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b24eac52-6d66-47ab-a26c-d63cbade16ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/b24eac52-6d66-47ab-a26c-d63cbade16ed', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2532b5f3-aa1b-48ed-9c2f-28a8a595149d', 'rel': 'self'}, {'href': 'http://localhost/nodes/2532b5f3-aa1b-48ed-9c2f-28a8a595149d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=2532b5f3-aa1b-48ed-9c2f-28a8a595149d'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6bef91e0-3394-4cbd-9ddf-a3c19a9039c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7f0bcd4-26d8-4b0b-a4d5-276b91ef941a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} GET: /v1/nodes?owner=fred {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.082133s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.078790s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.092626s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.132457s] ... ok 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=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c600517-abf2-444b-a541-1ee3089465a0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '0f9866b6-c2f6-44e2-bfaf-03005ffd06ec', 'created_at': '2024-09-19T19:57:33.869076+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': '838e964c-9caf-4a89-a98a-bb7bd6968823', '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/0f9866b6-c2f6-44e2-bfaf-03005ffd06ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f9866b6-c2f6-44e2-bfaf-03005ffd06ec', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0f9866b6-c2f6-44e2-bfaf-03005ffd06ec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f9866b6-c2f6-44e2-bfaf-03005ffd06ec/ports', 'rel': 'bookmark'}]}, {'uuid': 'ad07a2c6-69e1-4d1c-b102-ae90d59e6dea', 'created_at': '2024-09-19T19:57:33.877517+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': 'fa7b0176-8760-423d-b139-0607a173eb1a', '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/ad07a2c6-69e1-4d1c-b102-ae90d59e6dea', 'rel': 'self'}, {'href': 'http://localhost/nodes/ad07a2c6-69e1-4d1c-b102-ae90d59e6dea', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ad07a2c6-69e1-4d1c-b102-ae90d59e6dea/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ad07a2c6-69e1-4d1c-b102-ae90d59e6dea/ports', 'rel': 'bookmark'}]}, {'uuid': 'a635752f-a293-433a-9c3d-2ab731b39e3d', 'created_at': '2024-09-19T19:57:33.880431+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': '9682d98f-c2ad-42d3-8239-d15d46a1935e', '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/a635752f-a293-433a-9c3d-2ab731b39e3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a635752f-a293-433a-9c3d-2ab731b39e3d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a635752f-a293-433a-9c3d-2ab731b39e3d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a635752f-a293-433a-9c3d-2ab731b39e3d/ports', 'rel': 'bookmark'}]}, {'uuid': 'b5a5881b-1add-4626-be2f-c93c28177c18', 'created_at': '2024-09-19T19:57:33.882925+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': '998b37c3-3737-4480-a93a-4792adccc8e1', '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/b5a5881b-1add-4626-be2f-c93c28177c18', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5a5881b-1add-4626-be2f-c93c28177c18', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b5a5881b-1add-4626-be2f-c93c28177c18/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5a5881b-1add-4626-be2f-c93c28177c18/ports', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=7a04a084-878a-4dba-b573-3e8e4fc27377 {} GOT:{'nodes': [{'uuid': 'e3de0c5f-b4dc-4312-8043-f7cb59ff3ae5', 'created_at': '2024-09-19T19:57:34.025538+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': '7a04a084-878a-4dba-b573-3e8e4fc27377', '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/e3de0c5f-b4dc-4312-8043-f7cb59ff3ae5', 'rel': 'self'}, {'href': 'http://localhost/nodes/e3de0c5f-b4dc-4312-8043-f7cb59ff3ae5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/e3de0c5f-b4dc-4312-8043-f7cb59ff3ae5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e3de0c5f-b4dc-4312-8043-f7cb59ff3ae5/ports', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:{'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/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=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-963ac16e-c056-4bd0-9385-957c79d7e1ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.136830s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.071547s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.223234s] ... ok GOT:{'nodes': [{'uuid': '6d280a77-7b40-406c-b87b-f23c7ca701bb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': '00019fb5-d844-412a-a42a-164571ba9847', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/00019fb5-d844-412a-a42a-164571ba9847', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} GOT:{'nodes': [{'uuid': '6d280a77-7b40-406c-b87b-f23c7ca701bb', 'created_at': '2024-09-19T19:57:35.186840+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/6d280a77-7b40-406c-b87b-f23c7ca701bb', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d280a77-7b40-406c-b87b-f23c7ca701bb/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=bob {} GOT:{'nodes': [{'uuid': '00019fb5-d844-412a-a42a-164571ba9847', 'created_at': '2024-09-19T19:57:35.189949+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/00019fb5-d844-412a-a42a-164571ba9847', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/00019fb5-d844-412a-a42a-164571ba9847/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/00019fb5-d844-412a-a42a-164571ba9847/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/00019fb5-d844-412a-a42a-164571ba9847/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/00019fb5-d844-412a-a42a-164571ba9847/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/00019fb5-d844-412a-a42a-164571ba9847/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6707ab7-9e52-4e22-abe8-29b98b962fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} GET: /v1/nodes/node.json {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.054108s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.044791s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.090543s] ... ok GOT:{'nodes': [{'uuid': 'fcd840b6-be6b-45c3-905c-2c53cbaeebed', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/fcd840b6-be6b-45c3-905c-2c53cbaeebed', 'rel': 'self'}, {'href': 'http://localhost/nodes/fcd840b6-be6b-45c3-905c-2c53cbaeebed', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=ipmi {} GOT:{'nodes': [{'uuid': 'a0c0a45b-01f9-442c-8a5f-cd70f6d6b6fc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a0c0a45b-01f9-442c-8a5f-cd70f6d6b6fc', 'rel': 'self'}, {'href': 'http://localhost/nodes/a0c0a45b-01f9-442c-8a5f-cd70f6d6b6fc', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': '2b15461f-01bb-4daf-a02c-58bb9b515bda', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2b15461f-01bb-4daf-a02c-58bb9b515bda', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b15461f-01bb-4daf-a02c-58bb9b515bda', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:{'nodes': [{'uuid': '611fd06a-f93a-4397-ae1d-81dc79158a8e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': 'd6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{'nodes': [{'uuid': '611fd06a-f93a-4397-ae1d-81dc79158a8e', 'created_at': '2024-09-19T19:57:34.753914+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/611fd06a-f93a-4397-ae1d-81dc79158a8e', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/611fd06a-f93a-4397-ae1d-81dc79158a8e/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=clean failure {} GOT:{'nodes': [{'uuid': 'd6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'created_at': '2024-09-19T19:57:34.779756+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/d6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f2cdf2-6cba-44e2-bf91-f494874d3b79/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94246447-1e79-462e-8e56-10157cb808c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-a70f4ec6-077e-4ba5-96b4-e16115702743 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18a5f713-c687-415e-855b-354628b3b1f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.124154s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.105195s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.165303s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.143504s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.103924s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.069442s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.117918s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.079611s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.386424+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=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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.485224+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.485224+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': 'fish', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.575298+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.078825s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.078772s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.206108s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-618a2ada-cd69-48e0-adb5-635287ae9c73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': 'd9e11057-921d-4e1d-824d-5440166d9a7b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d9e11057-921d-4e1d-824d-5440166d9a7b', 'rel': 'self'}, {'href': 'http://localhost/nodes/d9e11057-921d-4e1d-824d-5440166d9a7b', 'rel': 'bookmark'}]}, {'uuid': '05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'rel': 'self'}, {'href': 'http://localhost/nodes/05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'rel': 'self'}, {'href': 'http://localhost/nodes/05ca1a7c-ce7a-47f3-92e3-1bdf687e83a4', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '80a2d0e7-b309-4426-a161-4dbb0734c690', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '2448321b-302c-4551-97cf-d8bfe918764c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2448321b-302c-4551-97cf-d8bfe918764c', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '80a2d0e7-b309-4426-a161-4dbb0734c690', 'created_at': '2024-09-19T19:57:35.534120+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/80a2d0e7-b309-4426-a161-4dbb0734c690', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/80a2d0e7-b309-4426-a161-4dbb0734c690/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '2448321b-302c-4551-97cf-d8bfe918764c', 'created_at': '2024-09-19T19:57:35.546158+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/2448321b-302c-4551-97cf-d8bfe918764c', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2448321b-302c-4551-97cf-d8bfe918764c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2448321b-302c-4551-97cf-d8bfe918764c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2448321b-302c-4551-97cf-d8bfe918764c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2448321b-302c-4551-97cf-d8bfe918764c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2448321b-302c-4551-97cf-d8bfe918764c/volume', '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-13d4bcd7-17df-40c7-a5f8-92ad65d270c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=rocky.rocks {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.070784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.065250s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.155648s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.027799s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.133829s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.575298+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.733673+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 {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.733673+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/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d {} GOT:{'uuid': 'feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'created_at': '2024-09-19T19:57:35.862107+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/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.141541s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.056381s] ... ok GET: /v1/nodes?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-93ef8925-d639-4297-8503-39a7f24d255d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-9cefd943-6444-4862-a6b9-77ff6bfc33aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-da481ba8-737f-4c0f-9a84-c3891e9cbc9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-1f3bbae9-af6f-4eab-9de2-be5be0d08b43 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?provision_state=available {} GOT:{'nodes': [{'uuid': '3abd03bc-dd49-408c-9a80-cd03b36ce8eb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3abd03bc-dd49-408c-9a80-cd03b36ce8eb', 'rel': 'self'}, {'href': 'http://localhost/nodes/3abd03bc-dd49-408c-9a80-cd03b36ce8eb', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} GOT:{'nodes': [{'uuid': 'ca89af91-3565-4821-ae4c-559999a5824f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ca89af91-3565-4821-ae4c-559999a5824f', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca89af91-3565-4821-ae4c-559999a5824f', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=foo {} GOT:{'nodes': [{'uuid': '64eda163-c565-466a-8d7f-6b86ef500bb9', 'created_at': '2024-09-19T19:57:35.688288+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/64eda163-c565-466a-8d7f-6b86ef500bb9', 'rel': 'self'}, {'href': 'http://localhost/nodes/64eda163-c565-466a-8d7f-6b86ef500bb9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/64eda163-c565-466a-8d7f-6b86ef500bb9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/64eda163-c565-466a-8d7f-6b86ef500bb9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/64eda163-c565-466a-8d7f-6b86ef500bb9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/64eda163-c565-466a-8d7f-6b86ef500bb9/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': '95f5bf91-8e7b-49b9-a060-0250b404132a', 'created_at': '2024-09-19T19:57:35.692129+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/95f5bf91-8e7b-49b9-a060-0250b404132a', 'rel': 'self'}, {'href': 'http://localhost/nodes/95f5bf91-8e7b-49b9-a060-0250b404132a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/95f5bf91-8e7b-49b9-a060-0250b404132a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/95f5bf91-8e7b-49b9-a060-0250b404132a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/95f5bf91-8e7b-49b9-a060-0250b404132a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/95f5bf91-8e7b-49b9-a060-0250b404132a/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b7a03568-ff25-4833-9946-da3a9d6d235a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.127472s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.030385s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_deleted_chassis [0.206683s] ... ok GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-308fef1e-5cc2-46f7-b1e3-cd3102fab9f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-e6a15d08-a988-41c3-b7c2-8196de904acc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '1f8a6ae7-0801-4443-8306-d81482902497', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/1f8a6ae7-0801-4443-8306-d81482902497', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f8a6ae7-0801-4443-8306-d81482902497', 'rel': 'bookmark'}]}, {'uuid': 'f20372d0-b64a-4e0b-99c5-369f0b6f1e0f', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/f20372d0-b64a-4e0b-99c5-369f0b6f1e0f', 'rel': 'self'}, {'href': 'http://localhost/nodes/f20372d0-b64a-4e0b-99c5-369f0b6f1e0f', 'rel': 'bookmark'}]}, {'uuid': '96d977c9-387d-4136-baac-1d6a27fa3b0b', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/96d977c9-387d-4136-baac-1d6a27fa3b0b', 'rel': 'self'}, {'href': 'http://localhost/nodes/96d977c9-387d-4136-baac-1d6a27fa3b0b', 'rel': 'bookmark'}]}]} 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': '49e44fad-fa68-47bc-a8b9-8611927b1056', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '211cd6e3-957f-4ff5-8602-efca747a3c9a', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/49e44fad-fa68-47bc-a8b9-8611927b1056', 'rel': 'self'}, {'href': 'http://localhost/nodes/49e44fad-fa68-47bc-a8b9-8611927b1056', 'rel': 'bookmark'}]}, {'uuid': '2bc98c9a-ff84-4c8c-b25b-4fa6c3a94f8a', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '171a6ce8-c9ca-4acb-aeb4-8c05fe546776', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/2bc98c9a-ff84-4c8c-b25b-4fa6c3a94f8a', 'rel': 'self'}, {'href': 'http://localhost/nodes/2bc98c9a-ff84-4c8c-b25b-4fa6c3a94f8a', 'rel': 'bookmark'}]}, {'uuid': '640a2b6f-f777-4b37-a8f4-b242f9230841', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '8cd8d86d-d4b9-4f7b-b640-5ff153d5c952', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/640a2b6f-f777-4b37-a8f4-b242f9230841', 'rel': 'self'}, {'href': 'http://localhost/nodes/640a2b6f-f777-4b37-a8f4-b242f9230841', '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-54d362bd-bfca-4ca4-b1c8-e76d136e0c7e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=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-1fa71f60-7533-48a4-b787-1d3db6c07355 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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/detail?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?resource_class=foo {} GOT:{'nodes': [{'uuid': '5b028c59-87ee-4a9d-a8a9-974969812849', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/5b028c59-87ee-4a9d-a8a9-974969812849', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b028c59-87ee-4a9d-a8a9-974969812849', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': '66da309a-10a0-4cfe-a687-9a2938c9ca90', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/66da309a-10a0-4cfe-a687-9a2938c9ca90', 'rel': 'self'}, {'href': 'http://localhost/nodes/66da309a-10a0-4cfe-a687-9a2938c9ca90', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4dfe1c62-3033-4782-8695-fc6db7110133 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 [0.146849s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.150067s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.242800s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.081638s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.070800s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.099034s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.145872s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.063384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.218401s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.496729s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.877289+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': '2024-09-19T19:57:36.086894+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?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/spam/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.337628+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.337628+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.125933s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:35.956648+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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': '2024-09-19T19:57:36.245227+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.258774s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.273234s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.421983+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.421983+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/7357bede-1837-45fe-aa34-87a1960aba6c {} GOT:{'uuid': '7357bede-1837-45fe-aa34-87a1960aba6c', 'created_at': '2024-09-19T19:57:36.515024+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/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/7357bede-1837-45fe-aa34-87a1960aba6c {} GOT:{'uuid': '7357bede-1837-45fe-aa34-87a1960aba6c', 'created_at': '2024-09-19T19:57:36.515024+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/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'bookmark'}]} GET: /nodes/7357bede-1837-45fe-aa34-87a1960aba6c {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.056376s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.148392s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.068632s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7833cdf0-8098-4e42-938f-6e80956f1c1d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-efaf9cf0-6546-4737-90fe-2913255c6770 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} GET: /v1/nodes?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-53f01206-dbe3-4dcb-84c5-38282b672edc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-06d8ec5d-7c68-47b4-96df-45b9cbeb8a1d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?driver=test {} GOT:{'nodes': []} GET: /v1/nodes?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?lessee=project1 {} GOT:{'nodes': [{'uuid': '2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project2 {} GOT:{'nodes': [{'uuid': '0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project1 {} GOT:{'nodes': [{'uuid': '2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'created_at': '2024-09-19T19:57:36.068583+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/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ee166ad-8693-4b8c-ba4c-a5b8f00d2c37/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project2 {} GOT:{'nodes': [{'uuid': '0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'created_at': '2024-09-19T19:57:36.071424+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/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0b86c0f3-a174-4700-b82a-f3a1a3a4a24a/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=test {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.251728s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.132160s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.038641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.065243s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.081065s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.092898s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.139820s] ... ok GOT:{'uuid': 'feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'created_at': '2024-09-19T19:57:35.862107+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/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'bookmark'}]} GET: /nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d {} GOT:{'uuid': 'feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'created_at': '2024-09-19T19:57:35.862107+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/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/feec4b3e-0d0b-48f6-85fa-7bbf6b1e2f6d/ports', 'rel': 'bookmark'}]} GET: /v1/nodes?maintenance=true {} GOT:{'nodes': [{'uuid': '8a236a54-6dcd-40c3-b0e1-6223519abd40', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8a236a54-6dcd-40c3-b0e1-6223519abd40', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a236a54-6dcd-40c3-b0e1-6223519abd40', 'rel': 'bookmark'}]}, {'uuid': '935a9a58-a48d-4082-bede-0dbc34a08219', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/935a9a58-a48d-4082-bede-0dbc34a08219', 'rel': 'self'}, {'href': 'http://localhost/nodes/935a9a58-a48d-4082-bede-0dbc34a08219', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': 'bc0fcb55-fb1e-4f1b-b520-f5959c1c3f97', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bc0fcb55-fb1e-4f1b-b520-f5959c1c3f97', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc0fcb55-fb1e-4f1b-b520-f5959c1c3f97', 'rel': 'bookmark'}]}, {'uuid': '9331c14d-9dfc-42bb-abc7-4b67f8250cc5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9331c14d-9dfc-42bb-abc7-4b67f8250cc5', 'rel': 'self'}, {'href': 'http://localhost/nodes/9331c14d-9dfc-42bb-abc7-4b67f8250cc5', 'rel': 'bookmark'}]}, {'uuid': '5f5e3450-3ba7-470e-8e82-cf73dc4d53a6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5f5e3450-3ba7-470e-8e82-cf73dc4d53a6', 'rel': 'self'}, {'href': 'http://localhost/nodes/5f5e3450-3ba7-470e-8e82-cf73dc4d53a6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b15c8f12-4980-4ef3-9439-9da2a3dfdc98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid maintenance: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c93be24-3417-49cb-89be-d55f33d6b126 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.667501+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.132133s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.117826s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.128399s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.124028s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.910473+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.910473+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.050401+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.156245s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.053334s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.130596s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.137576s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.064350s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.065211s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.083232s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.108206s] ... ok GOT:{'uuid': '7357bede-1837-45fe-aa34-87a1960aba6c', 'created_at': '2024-09-19T19:57:36.515024+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/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7357bede-1837-45fe-aa34-87a1960aba6c/ports', 'rel': 'bookmark'}]} GET: /v1/nodes?associated=true&maintenance=false {} GOT:{'nodes': [{'uuid': 'b6fcaba0-9c9f-42c6-8cc8-de207d0b8c20', 'instance_uuid': '07436d6c-cbeb-4c4e-b1a1-a84a8d408f4a', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b6fcaba0-9c9f-42c6-8cc8-de207d0b8c20', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6fcaba0-9c9f-42c6-8cc8-de207d0b8c20', 'rel': 'bookmark'}]}, {'uuid': '70c3e268-db81-40c1-8e54-01bea9f0ae25', 'instance_uuid': '686467e5-0aab-40b6-9f84-ea38eb435678', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/70c3e268-db81-40c1-8e54-01bea9f0ae25', 'rel': 'self'}, {'href': 'http://localhost/nodes/70c3e268-db81-40c1-8e54-01bea9f0ae25', 'rel': 'bookmark'}]}, {'uuid': '64162d0a-7413-4f00-8f09-808e95ed87ee', 'instance_uuid': '04c96e0f-221f-47a6-80e2-2ed98c663684', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/64162d0a-7413-4f00-8f09-808e95ed87ee', 'rel': 'self'}, {'href': 'http://localhost/nodes/64162d0a-7413-4f00-8f09-808e95ed87ee', 'rel': 'bookmark'}]}, {'uuid': 'a596fe61-dc2e-4911-b96a-f4cad326b0aa', 'instance_uuid': 'cf9a0e8e-5803-43a7-b21e-86aa1a713bdb', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a596fe61-dc2e-4911-b96a-f4cad326b0aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/a596fe61-dc2e-4911-b96a-f4cad326b0aa', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '5bd9a077-1cec-4c31-aef5-329839dc3246', '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': '5bd9a077-1cec-4c31-aef5-329839dc3246', '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?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aed75e44-fd59-425f-bbe5-42eb79c5ee31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.824550+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.518840s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.122713s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.052384s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.050401+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.161540+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.262455+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/cab84273-af9a-4afd-85f9-e4e714d3cad4 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.185025s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0abc0241-02c3-4da1-a226-47ce0c68fb6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e70cc61-ec63-424c-8c60-8b61c58a6557 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.816209+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e67ed7f1-9645-4a4b-b995-32f990593c2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?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': 'fb2b7295-6901-4841-abb3-da19f4b09b26'} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.424394+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.099447s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.128229s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.824550+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.358152+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.430706+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.119874s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.114877s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.159718s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.236497s] ... ok GOT:{'uuid': 'cab84273-af9a-4afd-85f9-e4e714d3cad4', 'created_at': '2024-09-19T19:57:37.406559+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/cab84273-af9a-4afd-85f9-e4e714d3cad4', 'rel': 'self'}, {'href': 'http://localhost/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cab84273-af9a-4afd-85f9-e4e714d3cad4/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9 {} GOT:{'uuid': 'd974d6b7-2e57-40f9-b2a6-b67c2a83bbe9', 'created_at': '2024-09-19T19:57:37.454898+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/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9', 'rel': 'self'}, {'href': 'http://localhost/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d974d6b7-2e57-40f9-b2a6-b67c2a83bbe9/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654 {} GOT:{'uuid': 'b0903ef5-af0b-4f5c-ab81-77b6176a2654', 'created_at': '2024-09-19T19:57:37.546797+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/b0903ef5-af0b-4f5c-ab81-77b6176a2654', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0903ef5-af0b-4f5c-ab81-77b6176a2654/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/9b6221a5-1745-4201-89b4-0fa990343a57 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.111023s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.082999s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.179644s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.424394+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': '2024-09-19T19:57:37.560203+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.560203+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/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.691877+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.193318s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.138324s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.501048+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/test.1 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:36.796212+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=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 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-260ffcdc-e644-4121-baab-e33102b99cb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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:{'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-fef606d3-ca5c-4dc4-8625-4b20cc255099 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?fields=traits {} GOT:{'traits': [], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0e30c279-6b7c-46f6-93a9-2e6fb006d25e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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_driver_internal [0.217763s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.416703s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.691877+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': '2024-09-19T19:57:37.898099+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.898099+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.157654s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.259992s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.430706+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=08bddffb-f227-419a-82d7-b8f457cb779e {} GOT:{'nodes': [{'uuid': '6e234186-274d-48c6-9611-20adf5f7c053', 'instance_uuid': '08bddffb-f227-419a-82d7-b8f457cb779e', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6e234186-274d-48c6-9611-20adf5f7c053', 'rel': 'self'}, {'href': 'http://localhost/nodes/6e234186-274d-48c6-9611-20adf5f7c053', 'rel': 'bookmark'}]}]} GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-90dbf775-b703-4271-9503-d8f71f0883f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?instance_uuid=03b483c8-7cb5-4f0d-8187-63707184a6ca {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.150078+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.115482s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.071666s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.373525s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.073667s] ... ok GOT:{'uuid': '9b6221a5-1745-4201-89b4-0fa990343a57', 'created_at': '2024-09-19T19:57:37.571368+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/9b6221a5-1745-4201-89b4-0fa990343a57', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b6221a5-1745-4201-89b4-0fa990343a57', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b6221a5-1745-4201-89b4-0fa990343a57/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.646925+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': '2024-09-19T19:57:37.646925+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.120722s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.136753s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.039993s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.097661s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.194223s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.270361+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.270361+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.361921+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.105396s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.156903s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.461831+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.461831+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.818766+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.818766+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 {} GOT:{'nodes': [{'uuid': '8f250451-da5e-4c9e-b100-fff149050a49', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8f250451-da5e-4c9e-b100-fff149050a49', 'rel': 'self'}, {'href': 'http://localhost/nodes/8f250451-da5e-4c9e-b100-fff149050a49', 'rel': 'bookmark'}]}, {'uuid': 'bb984f85-5024-4355-9541-24a1091c7960', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bb984f85-5024-4355-9541-24a1091c7960', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb984f85-5024-4355-9541-24a1091c7960', 'rel': 'bookmark'}]}, {'uuid': 'fb5ce0d6-3090-419e-848d-600ddb418be7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fb5ce0d6-3090-419e-848d-600ddb418be7', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb5ce0d6-3090-419e-848d-600ddb418be7', 'rel': 'bookmark'}]}, {'uuid': '0dfc6769-1c49-406a-933a-7ff98e130bac', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0dfc6769-1c49-406a-933a-7ff98e130bac', 'rel': 'self'}, {'href': 'http://localhost/nodes/0dfc6769-1c49-406a-933a-7ff98e130bac', 'rel': 'bookmark'}]}, {'uuid': '31eb2302-8c6d-4c60-992e-9ef6ce8d93e7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/31eb2302-8c6d-4c60-992e-9ef6ce8d93e7', 'rel': 'self'}, {'href': 'http://localhost/nodes/31eb2302-8c6d-4c60-992e-9ef6ce8d93e7', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.632114+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.268506s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.214549s] ... ok GOT:{'nodes': [{'uuid': '8b2fe020-d010-4055-b801-ab86bb82a770', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/8b2fe020-d010-4055-b801-ab86bb82a770', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b2fe020-d010-4055-b801-ab86bb82a770', 'rel': 'bookmark'}]}, {'uuid': '134c01eb-19ee-445c-9f7e-29ca28d0a8e0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/134c01eb-19ee-445c-9f7e-29ca28d0a8e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/134c01eb-19ee-445c-9f7e-29ca28d0a8e0', 'rel': 'bookmark'}]}, {'uuid': 'b274d8e3-48b5-4824-8650-99fd0bd84851', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/b274d8e3-48b5-4824-8650-99fd0bd84851', 'rel': 'self'}, {'href': 'http://localhost/nodes/b274d8e3-48b5-4824-8650-99fd0bd84851', 'rel': 'bookmark'}]}, {'uuid': '47e80473-4fdd-4f6c-a757-c5ecbc8de0bb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/47e80473-4fdd-4f6c-a757-c5ecbc8de0bb', 'rel': 'self'}, {'href': 'http://localhost/nodes/47e80473-4fdd-4f6c-a757-c5ecbc8de0bb', 'rel': 'bookmark'}]}, {'uuid': 'c69275d3-f109-429a-bdae-c42b207ad21d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/c69275d3-f109-429a-bdae-c42b207ad21d', 'rel': 'self'}, {'href': 'http://localhost/nodes/c69275d3-f109-429a-bdae-c42b207ad21d', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'bb174d11-45f5-40a9-80d6-4e46bcd00d73', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/bb174d11-45f5-40a9-80d6-4e46bcd00d73', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb174d11-45f5-40a9-80d6-4e46bcd00d73', 'rel': 'bookmark'}]}, {'uuid': '1f66a46c-8a04-4156-9442-5d8f94034aed', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1f66a46c-8a04-4156-9442-5d8f94034aed', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f66a46c-8a04-4156-9442-5d8f94034aed', 'rel': 'bookmark'}]}, {'uuid': 'd77a0c80-b6b7-45f7-a909-f5b9816c8e07', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d77a0c80-b6b7-45f7-a909-f5b9816c8e07', 'rel': 'self'}, {'href': 'http://localhost/nodes/d77a0c80-b6b7-45f7-a909-f5b9816c8e07', 'rel': 'bookmark'}]}, {'uuid': '9faaae9b-7858-4723-a497-409c84022f47', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9faaae9b-7858-4723-a497-409c84022f47', 'rel': 'self'}, {'href': 'http://localhost/nodes/9faaae9b-7858-4723-a497-409c84022f47', 'rel': 'bookmark'}]}, {'uuid': '372d4e80-d5f6-4a7f-b4c7-d944f0411014', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/372d4e80-d5f6-4a7f-b4c7-d944f0411014', 'rel': 'self'}, {'href': 'http://localhost/nodes/372d4e80-d5f6-4a7f-b4c7-d944f0411014', 'rel': 'bookmark'}]}, {'uuid': '1264735f-73a9-4fd9-bf3f-33c7dc4cd001', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1264735f-73a9-4fd9-bf3f-33c7dc4cd001', 'rel': 'self'}, {'href': 'http://localhost/nodes/1264735f-73a9-4fd9-bf3f-33c7dc4cd001', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-235710a2-5b35-47dc-8ba3-5b92c8befd81 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '2024-09-19T19:57:38.531938+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.134370s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.110775s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.722735+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:37.722735+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': 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/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.040720+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/ports {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.789176s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.467733+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.467733+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.624182+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'akindofmagic', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.199068s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.252445s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.173809s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.728821+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.826322+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': '2024-09-19T19:57:38.826322+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.059137s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.058446s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.094206s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.269355s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.056215s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.086703s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.776922+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.776922+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.009892+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.149470s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.926810+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.926810+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.966462+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/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.076957s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.046737s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.118138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.090661s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.110912s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:38.632114+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/?limit=3&associated=True {} GOT:{'nodes': [{'uuid': 'f2b86974-c3a0-42cd-b5bb-1babd43f0eb4', 'instance_uuid': 'e5713951-9a9f-4ff3-b031-06e6062929f3', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f2b86974-c3a0-42cd-b5bb-1babd43f0eb4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2b86974-c3a0-42cd-b5bb-1babd43f0eb4', 'rel': 'bookmark'}]}, {'uuid': 'bc067eb9-59b4-410a-aeaa-1f96451864dd', 'instance_uuid': 'e655ff68-ba3e-4a67-ad45-8785fb220461', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bc067eb9-59b4-410a-aeaa-1f96451864dd', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc067eb9-59b4-410a-aeaa-1f96451864dd', 'rel': 'bookmark'}]}, {'uuid': 'eb166c1b-0975-4683-9c21-b8036e575402', 'instance_uuid': '99047c61-17ea-4e6a-bac2-73142d12a4ff', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/eb166c1b-0975-4683-9c21-b8036e575402', 'rel': 'self'}, {'href': 'http://localhost/nodes/eb166c1b-0975-4683-9c21-b8036e575402', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=eb166c1b-0975-4683-9c21-b8036e575402'} GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{'nodes': [{'uuid': '9923fa11-2eab-4ae8-9b4d-6e660c3dee60', 'created_at': '2024-09-19T19:57:39.058848+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': '42142519-6283-4ae2-b62d-76d53e6aeac1', '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/9923fa11-2eab-4ae8-9b4d-6e660c3dee60', 'rel': 'self'}, {'href': 'http://localhost/nodes/9923fa11-2eab-4ae8-9b4d-6e660c3dee60', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9923fa11-2eab-4ae8-9b4d-6e660c3dee60/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9923fa11-2eab-4ae8-9b4d-6e660c3dee60/ports', 'rel': 'bookmark'}]}, {'uuid': '77a0d527-f6c0-46df-8c56-439564187c54', 'created_at': '2024-09-19T19:57:39.089421+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': '86ac74b5-ffd5-447d-b213-a4491bb14a8d', '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/77a0d527-f6c0-46df-8c56-439564187c54', 'rel': 'self'}, {'href': 'http://localhost/nodes/77a0d527-f6c0-46df-8c56-439564187c54', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/77a0d527-f6c0-46df-8c56-439564187c54/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/77a0d527-f6c0-46df-8c56-439564187c54/ports', 'rel': 'bookmark'}]}, {'uuid': '2c8ad655-611c-4dd3-8ed0-42d317b1c8f8', 'created_at': '2024-09-19T19:57:39.093848+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': 'aadfbdb5-c49e-4c7b-9f5b-dc03ac1b91ca', '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/2c8ad655-611c-4dd3-8ed0-42d317b1c8f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c8ad655-611c-4dd3-8ed0-42d317b1c8f8', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2c8ad655-611c-4dd3-8ed0-42d317b1c8f8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c8ad655-611c-4dd3-8ed0-42d317b1c8f8/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=2c8ad655-611c-4dd3-8ed0-42d317b1c8f8'} GET: /v1/nodes/af97861b-919b-46ac-8e29-149e911bdbc4 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.209308s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.107452s] ... ok GOT:{'ports': [{'uuid': 'a443dbf1-4f1b-4679-9d6e-26403cf70285', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a443dbf1-4f1b-4679-9d6e-26403cf70285', 'rel': 'self'}, {'href': 'http://localhost/ports/a443dbf1-4f1b-4679-9d6e-26403cf70285', 'rel': 'bookmark'}]}, {'uuid': 'aa8e03b6-48cf-4e8a-a632-6977fc7e92ab', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/aa8e03b6-48cf-4e8a-a632-6977fc7e92ab', 'rel': 'self'}, {'href': 'http://localhost/ports/aa8e03b6-48cf-4e8a-a632-6977fc7e92ab', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{'ports': [{'uuid': 'a443dbf1-4f1b-4679-9d6e-26403cf70285', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a443dbf1-4f1b-4679-9d6e-26403cf70285', 'rel': 'self'}, {'href': 'http://localhost/ports/a443dbf1-4f1b-4679-9d6e-26403cf70285', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=a443dbf1-4f1b-4679-9d6e-26403cf70285'} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': 'f77c8404-4267-47c3-a207-81d22f0acadb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f77c8404-4267-47c3-a207-81d22f0acadb', 'rel': 'self'}, {'href': 'http://localhost/nodes/f77c8404-4267-47c3-a207-81d22f0acadb', 'rel': 'bookmark'}]}, {'uuid': 'dc1e67f8-07ae-4b07-9613-f121ac1c5f46', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/dc1e67f8-07ae-4b07-9613-f121ac1c5f46', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc1e67f8-07ae-4b07-9613-f121ac1c5f46', 'rel': 'bookmark'}]}, {'uuid': '4284d401-9e61-4e53-b055-0dcf18e3cf35', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4284d401-9e61-4e53-b055-0dcf18e3cf35', 'rel': 'self'}, {'href': 'http://localhost/nodes/4284d401-9e61-4e53-b055-0dcf18e3cf35', 'rel': 'bookmark'}]}]} GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40393739-4ff5-4cea-9b9f-1f83a5b165a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ec6b756e-7d3c-4447-bdb9-2ef150a84411 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ed4c3e28-0396-4ce2-90b0-e8079909afae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c9893619-fba6-44cc-856f-8aa4a1d0ed5c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c0130364-7276-4df1-8e3c-123dc9680bcb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b28a3a56-3886-457a-87ff-f0b4d8c0a667 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5b55c2d1-a467-4511-9ccd-b27408a39673 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-afa7d656-2287-42ef-9fa3-5eb49a92c23f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': '0e6b9cde-650c-46e8-9ad3-1b61d532507d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0e6b9cde-650c-46e8-9ad3-1b61d532507d', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e6b9cde-650c-46e8-9ad3-1b61d532507d', 'rel': 'bookmark'}]}, {'uuid': 'd2174abb-d3df-473b-a157-5ef97bc5ae05', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d2174abb-d3df-473b-a157-5ef97bc5ae05', 'rel': 'self'}, {'href': 'http://localhost/nodes/d2174abb-d3df-473b-a157-5ef97bc5ae05', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=d2174abb-d3df-473b-a157-5ef97bc5ae05'} 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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.157017s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.204911s] ... ok GOT:{'uuid': '757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d', 'created_at': '2024-09-19T19:57:39.055645+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/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d', 'rel': 'self'}, {'href': 'http://localhost/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/757f1b8f-5f4d-4f3c-80e7-d0da99bfbd4d/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/43df5691-850c-4100-8cf3-4b729e536c49 {} GOT:{'uuid': '43df5691-850c-4100-8cf3-4b729e536c49', 'created_at': '2024-09-19T19:57:39.070586+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/43df5691-850c-4100-8cf3-4b729e536c49', 'rel': 'self'}, {'href': 'http://localhost/nodes/43df5691-850c-4100-8cf3-4b729e536c49', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/43df5691-850c-4100-8cf3-4b729e536c49/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/43df5691-850c-4100-8cf3-4b729e536c49/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/43df5691-850c-4100-8cf3-4b729e536c49/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/43df5691-850c-4100-8cf3-4b729e536c49/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/43df5691-850c-4100-8cf3-4b729e536c49/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/43df5691-850c-4100-8cf3-4b729e536c49/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/43df5691-850c-4100-8cf3-4b729e536c49/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/43df5691-850c-4100-8cf3-4b729e536c49/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/39e4554a-00bd-438b-b45b-b2c36594a29c/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/86c48414-7929-4a49-8977-893eb9107771/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/0db6f687-73ab-410d-992f-4b31650cee9f/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/ec9f8e09-1bf2-4f49-8cf6-28b0d3aa8f09/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/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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.160837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.210427s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.120126s] ... ok GOT:{'uuid': 'af97861b-919b-46ac-8e29-149e911bdbc4', 'created_at': '2024-09-19T19:57:39.321532+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/af97861b-919b-46ac-8e29-149e911bdbc4', 'rel': 'self'}, {'href': 'http://localhost/nodes/af97861b-919b-46ac-8e29-149e911bdbc4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/af97861b-919b-46ac-8e29-149e911bdbc4/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a {} GOT:{'uuid': '0ddbcc70-6689-4138-93c1-8b96eef3d99a', 'created_at': '2024-09-19T19:57:39.362216+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/0ddbcc70-6689-4138-93c1-8b96eef3d99a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ddbcc70-6689-4138-93c1-8b96eef3d99a/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.459812+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.144461s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.129514s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.157702+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': '2024-09-19T19:57:39.157702+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.313442+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/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/eggs/states {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.086006s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.065130s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.063512s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.081276s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.197486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.286556s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.130404s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.459812+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.616709+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.616709+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.119817s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.072974s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.765224+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspecting', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.765224+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/240d672a-85a8-486c-9645-cfff3648ecd4 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.113815s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.101978s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.144498s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.076285s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.139286s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.046484s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.068239s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.432456+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': '2024-09-19T19:57:39.432456+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.612802+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/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 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes?sort_key=uuid {} GOT:{'nodes': [{'uuid': '405ec5b8-59d1-4226-9a89-23f810f5f56c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/405ec5b8-59d1-4226-9a89-23f810f5f56c', 'rel': 'self'}, {'href': 'http://localhost/nodes/405ec5b8-59d1-4226-9a89-23f810f5f56c', 'rel': 'bookmark'}]}, {'uuid': '4b50d63f-285e-4674-91e9-f9091f078950', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4b50d63f-285e-4674-91e9-f9091f078950', 'rel': 'self'}, {'href': 'http://localhost/nodes/4b50d63f-285e-4674-91e9-f9091f078950', 'rel': 'bookmark'}]}, {'uuid': 'edd5b183-e8f8-4138-9dbc-0abbcefc526e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/edd5b183-e8f8-4138-9dbc-0abbcefc526e', 'rel': 'self'}, {'href': 'http://localhost/nodes/edd5b183-e8f8-4138-9dbc-0abbcefc526e', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=false {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.085367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.056242s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.036064s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.069191s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.064100s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.093862s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.247394s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.054163s] ... ok GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.586423+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:39.586423+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 {} 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?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': '38ce385c-a171-418e-a5ae-3fc3f87a25db', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/38ce385c-a171-418e-a5ae-3fc3f87a25db', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38ce385c-a171-418e-a5ae-3fc3f87a25db', 'rel': 'bookmark'}]}, {'uuid': '3cb68b3b-7a76-4d33-a1d0-b9985453042f', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/3cb68b3b-7a76-4d33-a1d0-b9985453042f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3cb68b3b-7a76-4d33-a1d0-b9985453042f', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{'portgroups': [{'uuid': '38ce385c-a171-418e-a5ae-3fc3f87a25db', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/38ce385c-a171-418e-a5ae-3fc3f87a25db', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38ce385c-a171-418e-a5ae-3fc3f87a25db', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=38ce385c-a171-418e-a5ae-3fc3f87a25db'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.036124+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9e722760-a5ba-4411-8f1b-abb39d9fabe7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bd4dfb8d-3c9a-478a-a9d4-2775c92ba34a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fb135cc9-735c-4d71-8d16-830e2589061b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/history {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.072483s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.122617s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.165787s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.170502s] ... ok GOT:{'uuid': '240d672a-85a8-486c-9645-cfff3648ecd4', 'created_at': '2024-09-19T19:57:39.855655+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/240d672a-85a8-486c-9645-cfff3648ecd4', 'rel': 'self'}, {'href': 'http://localhost/nodes/240d672a-85a8-486c-9645-cfff3648ecd4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/240d672a-85a8-486c-9645-cfff3648ecd4/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.473220+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.666514s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.097865s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.130730s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.176783s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.065211s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.076388s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.095162s] ... ok GOT:{'nodes': [{'uuid': '54f00a69-f665-4974-a494-a5d73a80d33c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/54f00a69-f665-4974-a494-a5d73a80d33c', 'rel': 'self'}, {'href': 'http://localhost/nodes/54f00a69-f665-4974-a494-a5d73a80d33c', 'rel': 'bookmark'}]}, {'uuid': '5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'rel': 'self'}, {'href': 'http://localhost/nodes/5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'rel': 'bookmark'}]}, {'uuid': 'db20825f-fb79-498b-9478-bf10d67555ea', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/db20825f-fb79-498b-9478-bf10d67555ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/db20825f-fb79-498b-9478-bf10d67555ea', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} GOT:{'nodes': [{'uuid': '54f00a69-f665-4974-a494-a5d73a80d33c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/54f00a69-f665-4974-a494-a5d73a80d33c', 'rel': 'self'}, {'href': 'http://localhost/nodes/54f00a69-f665-4974-a494-a5d73a80d33c', 'rel': 'bookmark'}]}, {'uuid': '5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'rel': 'self'}, {'href': 'http://localhost/nodes/5dfbf337-5234-4f76-9ce1-afc0daa22a0a', 'rel': 'bookmark'}]}, {'uuid': 'db20825f-fb79-498b-9478-bf10d67555ea', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/db20825f-fb79-498b-9478-bf10d67555ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/db20825f-fb79-498b-9478-bf10d67555ea', 'rel': 'bookmark'}]}]} GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21142b68-c0f5-49c6-a60a-0396c59ac54c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{'connectors': [{'uuid': 'beb0d239-b1fe-493b-8380-af4ea6d1ffb2', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/beb0d239-b1fe-493b-8380-af4ea6d1ffb2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/beb0d239-b1fe-493b-8380-af4ea6d1ffb2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f2e2988b-7fda-42a6-95c6-fdcb70fcbd34', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f2e2988b-7fda-42a6-95c6-fdcb70fcbd34', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f2e2988b-7fda-42a6-95c6-fdcb70fcbd34', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': 'beb0d239-b1fe-493b-8380-af4ea6d1ffb2', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/beb0d239-b1fe-493b-8380-af4ea6d1ffb2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/beb0d239-b1fe-493b-8380-af4ea6d1ffb2', '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=beb0d239-b1fe-493b-8380-af4ea6d1ffb2'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.440184+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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53f88194-017c-4d0e-9875-308929942147 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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?limit=1 {} GOT:{'history': [{'uuid': '2bfdaed2-2812-41e8-8205-145b80c0a34e', 'created_at': '2024-09-19T19:57:40.688508+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2bfdaed2-2812-41e8-8205-145b80c0a34e', 'rel': 'self'}]}], 'next': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=2bfdaed2-2812-41e8-8205-145b80c0a34e'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=2bfdaed2-2812-41e8-8205-145b80c0a34e {} GOT:{'history': [{'uuid': 'd2648409-7388-4895-af02-02609cf8b57a', 'created_at': '2024-09-19T19:57:40.700964+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d2648409-7388-4895-af02-02609cf8b57a', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-09-19T19:57:40Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=2bfdaed2-2812-41e8-8205-145b80c0a34e)&fields=uuid,created_at,severity,event&limit=1&marker=d2648409-7388-4895-af02-02609cf8b57a"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.225039s] ... ok GOT:{'targets': [{'uuid': 'd8cab9fc-34c4-456b-8e4f-75ec79e8797c', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/d8cab9fc-34c4-456b-8e4f-75ec79e8797c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d8cab9fc-34c4-456b-8e4f-75ec79e8797c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '62841a27-29d6-43cb-bcb2-09a9cd764b09', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/62841a27-29d6-43cb-bcb2-09a9cd764b09', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/62841a27-29d6-43cb-bcb2-09a9cd764b09', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': 'd8cab9fc-34c4-456b-8e4f-75ec79e8797c', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/d8cab9fc-34c4-456b-8e4f-75ec79e8797c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d8cab9fc-34c4-456b-8e4f-75ec79e8797c', '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=d8cab9fc-34c4-456b-8e4f-75ec79e8797c'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:{'history': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true {} GOT:{'history': [{'uuid': 'd33b42a8-e991-4a1e-b5ef-6efc080403ef', 'created_at': '2024-09-19T19:57:39.864973+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/d33b42a8-e991-4a1e-b5ef-6efc080403ef', 'rel': 'self'}]}, {'uuid': 'ce2fa31c-2b1d-48fd-ad07-1709c37f0e9a', 'created_at': '2024-09-19T19:57:39.866210+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/ce2fa31c-2b1d-48fd-ad07-1709c37f0e9a', 'rel': 'self'}]}, {'uuid': 'c4276e03-e51b-4456-9b27-28d5ce9f9adb', 'created_at': '2024-09-19T19:57:39.879637+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/c4276e03-e51b-4456-9b27-28d5ce9f9adb', '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/52949728-59fc-4651-84c8-b0a16b469372 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3dc1f8b2-015e-4c0f-92d7-2afc13b76ef7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a652ede9-a8e2-4ffd-910c-034e4f60c2a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:40.290913+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91e18e50-6952-45bd-af58-a0d0e11b4a29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/4ecc215c-5ab1-47de-a753-a5cf083f215e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-eea47465-5f81-43ec-8ce0-84b4578281c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 4ecc215c-5ab1-47de-a753-a5cf083f215e can not be updated while a state transition is in progress.\", \"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-7ce914b7-3218-4766-a54c-e64d4e439dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/724db3c4-23b5-4401-901e-af973e45eb5f [{'path': '/allocation_uuid', 'op': 'replace', 'value': '8f287e6e-b37c-4fd6-a3b5-89405f7b7824'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.039666s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.042118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.048841s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.096164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.129640s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.081438s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.134694s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.287924s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.113030s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.155956s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.115770s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.130478s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4dfc9c60-4917-44c3-8798-2566b625fea6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/dc861eac-6685-4920-9aa4-9965e2720f05 [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-130ff9d4-a5c5-4ec4-9780-f07c41d52d6a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/d9a182a8-e2a5-4350-91a4-9a6903b680f2 [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98a6fc2e-4d37-4f53-8e1c-35a5a5f303b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /deploy_step. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/2639f03d-43b8-4b94-bff1-0cb4e3618a20 [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5598b51b-48ff-4f53-9a16-fd80b74360db X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1649a7ba-d24e-43ac-97d6-b97f7cf60f77 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6cbe7f85-659c-4c9d-9ccf-d9c36dcc656b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1649a7ba-d24e-43ac-97d6-b97f7cf60f77", "created_at": "2024-09-19T19:57:41.058022+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/1649a7ba-d24e-43ac-97d6-b97f7cf60f77", "rel": "self"}, {"href": "http://localhost/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/ports", "rel": "self"}, {"href": "http://localhost/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/states", "rel": "self"}, {"href": "http://localhost/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/volume", "rel": "self"}, {"href": "http://localhost/nodes/1649a7ba-d24e-43ac-97d6-b97f7cf60f77/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.116555s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.148681s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.473220+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.675684+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:40.675684+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/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe1932d5-3a8e-46cf-820c-30196d11e1ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/validate?node=spam {} GOT:{} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e2155c20-7a4c-4481-92ec-a43baaa6c6ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/volume/targets {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.135107s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.097286s] ... ok GOT:{'history': [{'uuid': 'ce0948e8-12b0-4f88-90b3-1ea04bc66ea7', 'created_at': '2024-09-19T19:57:40.401870+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ce0948e8-12b0-4f88-90b3-1ea04bc66ea7', 'rel': 'self'}]}, {'uuid': 'a2b56ebb-87ec-48d5-a46b-e04bd2913a90', 'created_at': '2024-09-19T19:57:40.402925+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a2b56ebb-87ec-48d5-a46b-e04bd2913a90', 'rel': 'self'}]}, {'uuid': 'f46ee367-59ed-4a3b-b91d-ac18fd6535c2', 'created_at': '2024-09-19T19:57:40.403797+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f46ee367-59ed-4a3b-b91d-ac18fd6535c2', 'rel': 'self'}]}]} 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-45637d47-e956-4a84-bf61-40dbccd5eb78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:40.501823+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/8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3aee1fce-c246-46bb-a22c-6823a7794509 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf", "created_at": "2024-09-19T19:57:40.647793+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/8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf", "rel": "self"}, {"href": "http://localhost/nodes/8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf/ports", "rel": "self"}, {"href": "http://localhost/nodes/8c4d3c9a-ad04-450e-9f15-3d0d59c42dbf/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-58d2ed89-83f2-43ec-a745-b958f9744677 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-5fff57de-10e2-4d33-9d65-7f3ab044556e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:40.866827+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/d4c5cf61-d532-4da2-ab0f-c54568c7217a [{'path': '/description', 'value': 'foo', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.311839s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.269453s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.139096s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.037078s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.143494s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.132847s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.070945s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.122026s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.107170s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-868c845d-988f-40c6-9263-0ccc0a81022a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d4c5cf61-d532-4da2-ab0f-c54568c7217a", "created_at": "2024-09-19T19:57:41.241804+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/d4c5cf61-d532-4da2-ab0f-c54568c7217a", "rel": "self"}, {"href": "http://localhost/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/states", "rel": "self"}, {"href": "http://localhost/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4c5cf61-d532-4da2-ab0f-c54568c7217a/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/da41103b-448c-47eb-973a-53fb8718cca2 [{'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-b4692c8a-5ba1-4240-a31b-726fe4b79cb2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "da41103b-448c-47eb-973a-53fb8718cca2", "created_at": "2024-09-19T19:57:41.474041+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/da41103b-448c-47eb-973a-53fb8718cca2", "rel": "self"}, {"href": "http://localhost/nodes/da41103b-448c-47eb-973a-53fb8718cca2", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/da41103b-448c-47eb-973a-53fb8718cca2/ports", "rel": "self"}, {"href": "http://localhost/nodes/da41103b-448c-47eb-973a-53fb8718cca2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/da41103b-448c-47eb-973a-53fb8718cca2/states", "rel": "self"}, {"href": "http://localhost/nodes/da41103b-448c-47eb-973a-53fb8718cca2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/da41103b-448c-47eb-973a-53fb8718cca2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/da41103b-448c-47eb-973a-53fb8718cca2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/da41103b-448c-47eb-973a-53fb8718cca2/volume", "rel": "self"}, {"href": "http://localhost/nodes/da41103b-448c-47eb-973a-53fb8718cca2/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.088850s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.062948s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.100017s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.063755s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.120582s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.172845s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.061966s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33fff9b3-5e2f-4f4d-a34c-c2c4bb324ee7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "4908924b-175d-4bf8-a2b5-ff45429c6fe1", "created_at": "2024-09-19T19:57:41.158476+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/4908924b-175d-4bf8-a2b5-ff45429c6fe1", "rel": "self"}, {"href": "http://localhost/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/ports", "rel": "self"}, {"href": "http://localhost/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/states", "rel": "self"}, {"href": "http://localhost/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/volume", "rel": "self"}, {"href": "http://localhost/nodes/4908924b-175d-4bf8-a2b5-ff45429c6fe1/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3 [] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c8c3ca7-0e38-4374-b1e0-0a1467e80f8b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "98888246-144f-4aa8-b3c2-cf85d59836d3", "created_at": "2024-09-19T19:57:41.254950+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/98888246-144f-4aa8-b3c2-cf85d59836d3", "rel": "self"}, {"href": "http://localhost/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/states", "rel": "self"}, {"href": "http://localhost/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/98888246-144f-4aa8-b3c2-cf85d59836d3/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-1bba18cc-25dc-4d36-b449-ed5bd87f5cfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-39e615f3-a218-4359-ae0c-41b41abf6229 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-915b48c0-a366-418d-bed0-cf2bd2e7f607 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-5cc9193e-52c8-47c3-a17b-c91ef10a6c1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.067152s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.080632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.043496s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.174086s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.109247s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eac4c7b2-5b95-4c48-8a63-1a1f8c25cdbd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e2d2a35f-8c8e-463d-b886-2555e3e4b36f", "created_at": "2024-09-19T19:57:41.582190+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/e2d2a35f-8c8e-463d-b886-2555e3e4b36f", "rel": "self"}, {"href": "http://localhost/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/ports", "rel": "self"}, {"href": "http://localhost/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/states", "rel": "self"}, {"href": "http://localhost/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/volume", "rel": "self"}, {"href": "http://localhost/nodes/e2d2a35f-8c8e-463d-b886-2555e3e4b36f/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'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-4a4757fc-1c9d-47df-a1bb-2a577817078f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "726d5adb-32fc-4848-8fec-21a5d146fee4", "created_at": "2024-09-19T19:57:41.659246+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/726d5adb-32fc-4848-8fec-21a5d146fee4", "rel": "self"}, {"href": "http://localhost/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/ports", "rel": "self"}, {"href": "http://localhost/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/states", "rel": "self"}, {"href": "http://localhost/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/volume", "rel": "self"}, {"href": "http://localhost/nodes/726d5adb-32fc-4848-8fec-21a5d146fee4/volume", "rel": "bookmark"}]} 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-397273f1-a404-4950-a9e6-6241053b9af5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-90da467f-57a1-4037-acd9-19859de3c0c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"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-9ce8930f-cc7e-4700-b34f-06e35a494036 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"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-fb2d8684-2849-4240-b2b1-31c0d29c36bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.034896s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.292515s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.141572s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.080402s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=d2648409-7388-4895-af02-02609cf8b57a {} GOT:{'history': [{'uuid': 'ae9c95bf-d40e-4a12-9875-cb65d0e2ff41', 'created_at': '2024-09-19T19:57:40.706252+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ae9c95bf-d40e-4a12-9875-cb65d0e2ff41', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-09-19T19:57:40Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=d2648409-7388-4895-af02-02609cf8b57a)&fields=uuid,created_at,severity,event&limit=1&marker=ae9c95bf-d40e-4a12-9875-cb65d0e2ff41"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d8669f65-5d23-47a6-8944-656aa6ff57ee {} GOT:{'uuid': 'd8669f65-5d23-47a6-8944-656aa6ff57ee', 'created_at': '2024-09-19T19:57:40.919606+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/d8669f65-5d23-47a6-8944-656aa6ff57ee', '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-3fadc313-02f2-4c78-b0af-caa522f7fdd9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66e32629-f377-428e-8db5-2e75268bce75 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:41.328057+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': 'i am invalid'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2fef463b-ae28-4fa1-b8b5-146df6129208 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-cef660b9-2d3b-4671-8fb3-beedf22b1f4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-09-19T19:57:41.681900+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-255a636e-2bc4-4b78-80e0-8a25d321fc3a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-eef7a113-9b61-4fda-84ad-e3fa8135e92b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d471fa47-053b-455e-b0e4-427c174b83d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.294839s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.166606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.165486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.115748s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.139681s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.076235s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.197500s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.210620s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.216396s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.179984s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.181020s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3953094-cdb7-4735-8b43-470d658c53d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-739a24e9-3a52-4e4c-b600-1e140596c8c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-03885953-340e-4b66-aee9-d752949a595a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /console_enabled. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7df26e22-c477-4edd-ac8e-151e3ea425da X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dec359f8-aff0-4740-8a5a-6fa44a93f359 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:42.199574+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/3e0162ea-f511-4b10-9610-c5bc7e1a622a [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b46ea74-0722-4067-8554-0e59dc1f27ee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3e0162ea-f511-4b10-9610-c5bc7e1a622a", "created_at": "2024-09-19T19:57:42.363618+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/3e0162ea-f511-4b10-9610-c5bc7e1a622a", "rel": "self"}, {"href": "http://localhost/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/ports", "rel": "self"}, {"href": "http://localhost/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/states", "rel": "self"}, {"href": "http://localhost/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/volume", "rel": "self"}, {"href": "http://localhost/nodes/3e0162ea-f511-4b10-9610-c5bc7e1a622a/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.103051s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.135172s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.194210s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.295223s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8d3ea62-2585-461d-a3c8-eaf2cc2be3b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dce8aa60-9f03-4d64-b368-dd7979751648 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:42.021679+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91ed6388-b96f-4e73-92da-e283cbaca9a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:42.182843+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-c3b82066-52f2-4e6f-b248-fe3f91f238d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6e803244-e435-456c-a63c-0df106ebd703 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea9ff756-3b32-423f-981f-61cee02f0e39 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b94e74c-6a83-48f3-a054-290e6bbae0d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd3e7b57-08ef-4d88-a78a-308957866a22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/management_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b148c16-6705-4389-bda9-9d622e302710 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e671be7f-4779-4c9a-8031-c665e4bd3c77 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/raid_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae48a927-7788-40d7-be6b-5ee0c2c38bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d [{'path': '/vendor_interface', 'op': 'remove'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.495719s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.070254s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.083774s] ... ok PATCH: /v1/nodes/0038d795-17e1-4a1f-af7b-3f3f3830d518 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cbfd307c-6c5a-4558-a381-72426530111b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b775b914-7009-4e58-bd34-200810e7584a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/65d77b78-3909-4733-9d97-fe0c5cfc1c64 [{'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'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.321275s] ... 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/history/1234 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-1d253481-ce1e-407c-8a17-739a2df0b236 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/78afe05b-30d6-4bd1-87da-132b041eb80d [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'c0c890fe-3f19-45a9-8a4a-301d61db1868'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d90c9745-fd41-44e1-93b1-f6d412bde99f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43c6cc2f-d98e-46e7-978f-141d8b634f51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:41.889667+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/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-4ec9caa9-a0ae-480a-b14b-8cc6a034f370 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d0044805-e412-40fb-a050-161e22cd1d6a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5457af3-c8ed-43d1-b76e-ac0ba8dcb22c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:42.537396+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcbe7bed-d32e-463e-bdd3-3fd8f38c3ffa X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.143399s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.151943s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.127729s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5fae5f22-8aee-44f0-8ca4-92630c71f0a0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-64385444-0fca-449d-8a6e-f115cdd39988 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b0f34e64-6513-481e-a2a2-60b971a0b728 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/662d9513-740d-47ac-a785-6c4c942af293 [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-026ec5f9-0a27-4e3a-b9d1-bbec02f94bcb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /fault. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/569f580e-3b2c-44c4-aba8-014507d5d146 [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a98e4979-dff9-4760-9d3b-17dfaecfd6a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "569f580e-3b2c-44c4-aba8-014507d5d146", "created_at": "2024-09-19T19:57:42.348084+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/569f580e-3b2c-44c4-aba8-014507d5d146", "rel": "self"}, {"href": "http://localhost/nodes/569f580e-3b2c-44c4-aba8-014507d5d146", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/ports", "rel": "self"}, {"href": "http://localhost/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/states", "rel": "self"}, {"href": "http://localhost/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/volume", "rel": "self"}, {"href": "http://localhost/nodes/569f580e-3b2c-44c4-aba8-014507d5d146/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9934f60-2e87-48a0-9f38-2c35e400f13d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b930af15-1f8f-47ca-871e-62ae563ee532 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:42.746947+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'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.169089s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.240674s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d67f45e4-31ea-4ec1-94fc-7207ad25deb5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "182ab988-0c28-495e-ba93-0b5e3d6dc86d", "created_at": "2024-09-19T19:57:42.412326+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/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "self"}, {"href": "http://localhost/nodes/182ab988-0c28-495e-ba93-0b5e3d6dc86d/volume", "rel": "bookmark"}]} 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-ba844b23-0cbb-4978-9fe1-916b852d887b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-9badb3e5-82f2-4e06-96fc-47af69da74b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/ffbb2712-1029-441a-a367-a633de2f068c [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e4ecb4d-eea3-4b23-8bbd-7fe483ec690d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "ffbb2712-1029-441a-a367-a633de2f068c", "created_at": "2024-09-19T19:57:43.088059+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/ffbb2712-1029-441a-a367-a633de2f068c", "rel": "self"}, {"href": "http://localhost/nodes/ffbb2712-1029-441a-a367-a633de2f068c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ffbb2712-1029-441a-a367-a633de2f068c/ports", "rel": "self"}, {"href": "http://localhost/nodes/ffbb2712-1029-441a-a367-a633de2f068c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ffbb2712-1029-441a-a367-a633de2f068c/states", "rel": "self"}, {"href": "http://localhost/nodes/ffbb2712-1029-441a-a367-a633de2f068c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ffbb2712-1029-441a-a367-a633de2f068c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ffbb2712-1029-441a-a367-a633de2f068c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ffbb2712-1029-441a-a367-a633de2f068c/volume", "rel": "self"}, {"href": "http://localhost/nodes/ffbb2712-1029-441a-a367-a633de2f068c/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/d7248187-35b2-4527-ab79-1cc44502adc8 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.088854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.188002s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f255bc21-2d71-4dd5-a712-f79bb98db058 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "65d77b78-3909-4733-9d97-fe0c5cfc1c64", "created_at": "2024-09-19T19:57:42.811538+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/65d77b78-3909-4733-9d97-fe0c5cfc1c64", "rel": "self"}, {"href": "http://localhost/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/ports", "rel": "self"}, {"href": "http://localhost/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/states", "rel": "self"}, {"href": "http://localhost/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/volume", "rel": "self"}, {"href": "http://localhost/nodes/65d77b78-3909-4733-9d97-fe0c5cfc1c64/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40214ba0-2f34-4f1a-9f01-9dd6cfb3b738 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "6e545973-7b1e-4a80-8c0c-a90dd341ceb1", "created_at": "2024-09-19T19:57:43.081820+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/6e545973-7b1e-4a80-8c0c-a90dd341ceb1", "rel": "self"}, {"href": "http://localhost/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/ports", "rel": "self"}, {"href": "http://localhost/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/states", "rel": "self"}, {"href": "http://localhost/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/volume", "rel": "self"}, {"href": "http://localhost/nodes/6e545973-7b1e-4a80-8c0c-a90dd341ceb1/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.159475s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.085831s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.200419s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.116734s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.094511s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.136008s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.107985s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.093943s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb3b5902-76cf-4e66-9919-f752d790a17e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "d7248187-35b2-4527-ab79-1cc44502adc8", "created_at": "2024-09-19T19:57:43.191715+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/d7248187-35b2-4527-ab79-1cc44502adc8", "rel": "self"}, {"href": "http://localhost/nodes/d7248187-35b2-4527-ab79-1cc44502adc8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/states", "rel": "self"}, {"href": "http://localhost/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d7248187-35b2-4527-ab79-1cc44502adc8/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3055b9ed-02be-4746-b395-f643d486704c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-433ed270-808d-4c78-bf17-b0deb138de51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "3055b9ed-02be-4746-b395-f643d486704c", "created_at": "2024-09-19T19:57:43.267592+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/3055b9ed-02be-4746-b395-f643d486704c", "rel": "self"}, {"href": "http://localhost/nodes/3055b9ed-02be-4746-b395-f643d486704c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3055b9ed-02be-4746-b395-f643d486704c/ports", "rel": "self"}, {"href": "http://localhost/nodes/3055b9ed-02be-4746-b395-f643d486704c/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/797c030e-424e-4dc2-abe7-9c4bc7ead49b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6488c894-ee84-4182-b9c0-11c10136bf98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "797c030e-424e-4dc2-abe7-9c4bc7ead49b", "created_at": "2024-09-19T19:57:43.343168+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/797c030e-424e-4dc2-abe7-9c4bc7ead49b", "rel": "self"}, {"href": "http://localhost/nodes/797c030e-424e-4dc2-abe7-9c4bc7ead49b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/797c030e-424e-4dc2-abe7-9c4bc7ead49b/ports", "rel": "self"}, {"href": "http://localhost/nodes/797c030e-424e-4dc2-abe7-9c4bc7ead49b/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-29e8ba88-5dcb-4e14-ab98-e8bb9fe4d93d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8", "created_at": "2024-09-19T19:57:43.397920+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/6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8", "rel": "self"}, {"href": "http://localhost/nodes/6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8/ports", "rel": "self"}, {"href": "http://localhost/nodes/6bd63bb8-f9ff-4e03-8565-9c24fa4cdfe8/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/14bcfae9-cd0e-4108-bec7-2ea701beca38 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.194938s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a942ab66-1eed-4c11-bce4-c90a7b4e66d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "14bcfae9-cd0e-4108-bec7-2ea701beca38", "created_at": "2024-09-19T19:57:43.487443+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/14bcfae9-cd0e-4108-bec7-2ea701beca38", "rel": "self"}, {"href": "http://localhost/nodes/14bcfae9-cd0e-4108-bec7-2ea701beca38", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/14bcfae9-cd0e-4108-bec7-2ea701beca38/ports", "rel": "self"}, {"href": "http://localhost/nodes/14bcfae9-cd0e-4108-bec7-2ea701beca38/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/aaf21e53-96fa-49eb-9068-c36ed5d3ecd6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d51001d9-6ad4-4ad4-872d-2008e2c0dc87 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aaf21e53-96fa-49eb-9068-c36ed5d3ecd6", "created_at": "2024-09-19T19:57:43.533564+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/aaf21e53-96fa-49eb-9068-c36ed5d3ecd6", "rel": "self"}, {"href": "http://localhost/nodes/aaf21e53-96fa-49eb-9068-c36ed5d3ecd6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/aaf21e53-96fa-49eb-9068-c36ed5d3ecd6/ports", "rel": "self"}, {"href": "http://localhost/nodes/aaf21e53-96fa-49eb-9068-c36ed5d3ecd6/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/abd49854-7bb1-4d15-bd3b-91e1860c2cb9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e221a04-7464-4e92-9aca-807c594bb828 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "abd49854-7bb1-4d15-bd3b-91e1860c2cb9", "created_at": "2024-09-19T19:57:43.558752+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/abd49854-7bb1-4d15-bd3b-91e1860c2cb9", "rel": "self"}, {"href": "http://localhost/nodes/abd49854-7bb1-4d15-bd3b-91e1860c2cb9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/abd49854-7bb1-4d15-bd3b-91e1860c2cb9/ports", "rel": "self"}, {"href": "http://localhost/nodes/abd49854-7bb1-4d15-bd3b-91e1860c2cb9/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/e5957df1-94ff-41e3-ac15-90a0f42ba58a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02022790-6097-4d37-8b6a-023bb5f16af9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e5957df1-94ff-41e3-ac15-90a0f42ba58a", "created_at": "2024-09-19T19:57:43.582222+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/e5957df1-94ff-41e3-ac15-90a0f42ba58a", "rel": "self"}, {"href": "http://localhost/nodes/e5957df1-94ff-41e3-ac15-90a0f42ba58a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e5957df1-94ff-41e3-ac15-90a0f42ba58a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e5957df1-94ff-41e3-ac15-90a0f42ba58a/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/2c480ffe-c057-43fb-8b82-82c2635c0e18 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55d7e236-7b52-4bdb-81f7-aafdfc35c8e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "2c480ffe-c057-43fb-8b82-82c2635c0e18", "created_at": "2024-09-19T19:57:43.604874+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/2c480ffe-c057-43fb-8b82-82c2635c0e18", "rel": "self"}, {"href": "http://localhost/nodes/2c480ffe-c057-43fb-8b82-82c2635c0e18", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2c480ffe-c057-43fb-8b82-82c2635c0e18/ports", "rel": "self"}, {"href": "http://localhost/nodes/2c480ffe-c057-43fb-8b82-82c2635c0e18/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.454976s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.039343s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a26f242e-ff85-4d02-b725-1e9beb8ee4f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/dde9c59c-4505-4f4f-87b8-dba89320ac52 [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28d41cb5-f224-418b-a4a8-9196c884089b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "dde9c59c-4505-4f4f-87b8-dba89320ac52", "created_at": "2024-09-19T19:57:43.131666+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/dde9c59c-4505-4f4f-87b8-dba89320ac52", "rel": "self"}, {"href": "http://localhost/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/ports", "rel": "self"}, {"href": "http://localhost/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/states", "rel": "self"}, {"href": "http://localhost/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/volume", "rel": "self"}, {"href": "http://localhost/nodes/dde9c59c-4505-4f4f-87b8-dba89320ac52/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/f11b1caf-e930-4565-8fb8-48b48c9d4304 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-407f86db-7be0-4bb1-8cbe-a3856e999255 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f11b1caf-e930-4565-8fb8-48b48c9d4304", "created_at": "2024-09-19T19:57:43.328094+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/f11b1caf-e930-4565-8fb8-48b48c9d4304", "rel": "self"}, {"href": "http://localhost/nodes/f11b1caf-e930-4565-8fb8-48b48c9d4304", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f11b1caf-e930-4565-8fb8-48b48c9d4304/ports", "rel": "self"}, {"href": "http://localhost/nodes/f11b1caf-e930-4565-8fb8-48b48c9d4304/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/93ef35a9-e64b-4a17-a70a-d8fc4c578fe9 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f65e7df2-e1fa-4ba4-bff3-8c5ec0d0f13e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb [{'path': '/instance_uuid', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.144074s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.156490s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.116240s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.076654s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b18d125-dbc0-405e-b03a-ee2236e0f151 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "ee110fdc-b56a-4676-8f3f-bf0fc5c821ce", "created_at": "2024-09-19T19:57:43.210699+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/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce", "rel": "self"}, {"href": "http://localhost/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/states", "rel": "self"}, {"href": "http://localhost/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/ee110fdc-b56a-4676-8f3f-bf0fc5c821ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/f76f085d-0344-4a14-ba3b-ba98c93d6aef [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46594ea3-31fc-44db-aaeb-fe63cd6ce288 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 \\\"f76f085d-0344-4a14-ba3b-ba98c93d6aef\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} PATCH: /v1/nodes/93920002-1ceb-49d4-b588-d3c915530afe [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7c9b3adb-ebe3-4b50-95f5-5d7522c4e49d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "93920002-1ceb-49d4-b588-d3c915530afe", "created_at": "2024-09-19T19:57:43.438154+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/93920002-1ceb-49d4-b588-d3c915530afe", "rel": "self"}, {"href": "http://localhost/nodes/93920002-1ceb-49d4-b588-d3c915530afe", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/93920002-1ceb-49d4-b588-d3c915530afe/ports", "rel": "self"}, {"href": "http://localhost/nodes/93920002-1ceb-49d4-b588-d3c915530afe/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/93920002-1ceb-49d4-b588-d3c915530afe/states", "rel": "self"}, {"href": "http://localhost/nodes/93920002-1ceb-49d4-b588-d3c915530afe/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/93920002-1ceb-49d4-b588-d3c915530afe/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/93920002-1ceb-49d4-b588-d3c915530afe/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/93920002-1ceb-49d4-b588-d3c915530afe/volume", "rel": "self"}, {"href": "http://localhost/nodes/93920002-1ceb-49d4-b588-d3c915530afe/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7735dead-71fe-41fc-8b4b-7f51dd283c5e [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bbbfbd3b-4f6b-4420-8397-263999ebf2e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e645d8eb-ecdc-4502-9839-2ba659ecaa66 [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.113939s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.136417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.206780s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cd0e3fc-363a-4818-a172-184482d41383 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f", "created_at": "2024-09-19T19:57:43.629497+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/2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f", "rel": "self"}, {"href": "http://localhost/nodes/2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f/ports", "rel": "self"}, {"href": "http://localhost/nodes/2b46fd0e-9b3b-4d20-bdd0-362e56c4dc2f/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9803f382-408a-4edc-b51b-503c32954c35 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5", "created_at": "2024-09-19T19:57:43.661682+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/fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5", "rel": "self"}, {"href": "http://localhost/nodes/fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5/ports", "rel": "self"}, {"href": "http://localhost/nodes/fcf95dc7-02d4-4dfb-b8e5-a445788ac2e5/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/9a3ef851-45db-478b-bf41-8dcc4d24b9f8 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b5b1a87d-59c0-485a-a077-0735803eb786 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/20b8ac24-e381-49a9-91ea-f8f91f793ed4 [{'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-4d106c46-daac-49e6-b708-e7098f64071b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/0696aab2-274b-4de9-adf8-9a6ba9707809 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.151763s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.054664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.243606s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.125068s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84856f4a-acee-4355-a2cc-fc1b32dbd843 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "e645d8eb-ecdc-4502-9839-2ba659ecaa66", "created_at": "2024-09-19T19:57:43.783179+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/e645d8eb-ecdc-4502-9839-2ba659ecaa66", "rel": "self"}, {"href": "http://localhost/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/ports", "rel": "self"}, {"href": "http://localhost/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/states", "rel": "self"}, {"href": "http://localhost/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/volume", "rel": "self"}, {"href": "http://localhost/nodes/e645d8eb-ecdc-4502-9839-2ba659ecaa66/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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-660da5b6-427e-4386-b836-1c64730be509 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:43.912363+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:43.912363+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': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.111389s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.170100s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.085324s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.172207s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.069987s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.200274s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-1d9f5b47-d5d5-40f4-90bb-e02692c7870e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-30ebe2b2-73c9-4c82-860e-7c4147a408d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'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'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.144754s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-347da125-0014-494a-ae6e-12c8cec9b404 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:44.289540+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:44.289540+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'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.082323s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.136792s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.151953s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d03b4d83-1e07-4f12-b917-3ea0d0abf10f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "0696aab2-274b-4de9-adf8-9a6ba9707809", "created_at": "2024-09-19T19:57:43.859544+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/0696aab2-274b-4de9-adf8-9a6ba9707809", "rel": "self"}, {"href": "http://localhost/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/ports", "rel": "self"}, {"href": "http://localhost/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/states", "rel": "self"}, {"href": "http://localhost/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/volume", "rel": "self"}, {"href": "http://localhost/nodes/0696aab2-274b-4de9-adf8-9a6ba9707809/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1426d4ca-2d39-4202-80c0-985097d7e28a [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2206c915-588b-4ed1-8f1f-a8873d531040 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-7288f15f-d64c-4695-b173-1251b09f4767 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:44.043792+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/e311e6a7-e4f5-48f1-a755-66545e3753f6 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-211d1f73-c576-4b98-8ce8-03664799fa53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "e311e6a7-e4f5-48f1-a755-66545e3753f6", "created_at": "2024-09-19T19:57:44.220581+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/e311e6a7-e4f5-48f1-a755-66545e3753f6", "rel": "self"}, {"href": "http://localhost/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/ports", "rel": "self"}, {"href": "http://localhost/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/states", "rel": "self"}, {"href": "http://localhost/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/volume", "rel": "self"}, {"href": "http://localhost/nodes/e311e6a7-e4f5-48f1-a755-66545e3753f6/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.186901s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b36ffbe-227e-4285-bc5a-12152c6b62d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb", "created_at": "2024-09-19T19:57:43.597428+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/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb", "rel": "self"}, {"href": "http://localhost/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/ports", "rel": "self"}, {"href": "http://localhost/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/states", "rel": "self"}, {"href": "http://localhost/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/volume", "rel": "self"}, {"href": "http://localhost/nodes/bfbbb65f-c6aa-4e3d-b04e-68c2a73f5bbb/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a5736233-0f5c-4907-b451-f085fb269f16 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-30654ba0-587c-40ed-b3f3-837035b70f38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/fa4c8a1b-a70d-4e9f-8842-cc417874531b [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ad1c981-7edc-4c65-b74f-a09bd8d9e333 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "fa4c8a1b-a70d-4e9f-8842-cc417874531b", "created_at": "2024-09-19T19:57:43.896248+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/fa4c8a1b-a70d-4e9f-8842-cc417874531b", "rel": "self"}, {"href": "http://localhost/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/ports", "rel": "self"}, {"href": "http://localhost/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/states", "rel": "self"}, {"href": "http://localhost/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/volume", "rel": "self"}, {"href": "http://localhost/nodes/fa4c8a1b-a70d-4e9f-8842-cc417874531b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e6a41ca8-ef05-455c-a0de-c2718b9c94bc [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1f97d6d9-122f-446a-a0d4-fb7f7c90d704 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 \\\"e6a41ca8-ef05-455c-a0de-c2718b9c94bc\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/c26a0dfe-261e-4da6-b872-f43e90838926 [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c446e777-0969-4def-80d8-6bb87c019e7f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e4fe6622-d7b3-402f-b603-122047c8eed6 [{'path': '/protected', 'value': 'True', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.249262s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.267170s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.161851s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.348262s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44a9f29e-30ae-4d96-badd-cc51c621a5ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/7b2e12d5-4aad-4d13-80b4-a25ee63b72ba [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b52f213c-595d-4ee7-9825-b62cf61d5038 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7b2e12d5-4aad-4d13-80b4-a25ee63b72ba", "created_at": "2024-09-19T19:57:43.207432+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/7b2e12d5-4aad-4d13-80b4-a25ee63b72ba", "rel": "self"}, {"href": "http://localhost/nodes/7b2e12d5-4aad-4d13-80b4-a25ee63b72ba", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7b2e12d5-4aad-4d13-80b4-a25ee63b72ba/ports", "rel": "self"}, {"href": "http://localhost/nodes/7b2e12d5-4aad-4d13-80b4-a25ee63b72ba/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/a5e5fa62-3d8e-4409-acb6-9cee63be0e06 [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b64b890-86fd-4b11-9ba2-2ae29403e364 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6cb4314b-d824-4518-a983-762fbe864421 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/7ebfea57-9dbf-4783-a59f-66be1faae0b5 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d4585ca9-5dbd-4d35-9425-4fd10e207d26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e0acbcce-de73-4705-aba3-741f17c0d557 [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f651ba3-0a5b-4f34-8ab2-2aeb5053bb43 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "e0acbcce-de73-4705-aba3-741f17c0d557", "created_at": "2024-09-19T19:57:43.681755+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/e0acbcce-de73-4705-aba3-741f17c0d557", "rel": "self"}, {"href": "http://localhost/nodes/e0acbcce-de73-4705-aba3-741f17c0d557", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/ports", "rel": "self"}, {"href": "http://localhost/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/states", "rel": "self"}, {"href": "http://localhost/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/volume", "rel": "self"}, {"href": "http://localhost/nodes/e0acbcce-de73-4705-aba3-741f17c0d557/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-894db013-4157-4c38-be66-5865b349df58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/7726fc6e-77c5-4312-a533-0704427b2cd0 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4899029c-8c72-4a76-bc16-f9dc54936165 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"7726fc6e-77c5-4312-a533-0704427b2cd0\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64d65587-80f5-415f-878b-ecea01495be9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-814a8e69-a7b1-4170-9906-88869f52ced2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a40ac99-ccd5-4e79-9d73-d10343251a5a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d192c6d-bbea-430a-956e-2e0d70dd5845 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d561b7f2-f405-44eb-8451-e5a87f81b88f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ad563c1-5086-47bf-8115-41b09b006b3a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.397962s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.103162s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.102806s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-926ac37e-7092-42f6-97be-e3824fac042a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f343c11a-b76c-4dd6-92f4-21a89e286d57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1db43878-77f9-4740-bb87-5ffb341147ce", "created_at": "2024-09-19T19:57:44.259876+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/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1db43878-77f9-4740-bb87-5ffb341147ce/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-58b48de9-e62e-4897-a4fa-c8bd30c2f166 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-284e9b6f-6925-4613-b1b0-1415b1d8578f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2fdab9d0-5541-49d2-82f2-17516e438f36 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2077ec44-316a-4e33-9edd-54fcc0e2cefc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.091634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.107443s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.096452s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.079178s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.241676s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-d11d6bda-3c45-4087-bdd6-a45457257065 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:44.366848+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': '2024-09-19T19:57:44.366848+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/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-463f4c9a-c21a-4a46-812c-956cf65e2faa X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-c2c63777-baa4-481e-9606-9610495a73e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} 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-8d78eeb7-cef5-4c87-82d7-925f1f989405 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-01c4226a-5e4f-4ace-8f55-b3066b99c5e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.083322s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.043641s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.173906s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.088624s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.060473s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.195637s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b1a3a5f4-b717-4096-a359-3161bb33f8f2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0bdef400-8127-4cc6-b1b7-a61db4aab273 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e85d922a-24ac-41e4-b617-c7f318ff5370 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/791e66fa-b183-4145-a150-8006fee0a3ef [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c0a0f3cc-b6c1-44c9-bfb7-1b062b7be106 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/b0c1d0c2-6013-4db3-bcec-91055aba6d2d [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-463f9d7b-0950-44b0-828f-96e7d4bb3c01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "b0c1d0c2-6013-4db3-bcec-91055aba6d2d", "created_at": "2024-09-19T19:57:44.684198+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/b0c1d0c2-6013-4db3-bcec-91055aba6d2d", "rel": "self"}, {"href": "http://localhost/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/states", "rel": "self"}, {"href": "http://localhost/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0c1d0c2-6013-4db3-bcec-91055aba6d2d/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-e4951ee0-c3fa-4b14-ae98-c14d0da0da86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:44.786663+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-44b60f33-31e3-48ea-a418-afb6668ec1d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:44.872141+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/71640ade-c270-411c-8771-e2aa57321016 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.248654s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd52d9d1-f9c1-4383-95b8-716a55d79ca9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "0cdd5118-3414-4742-bf07-a8fa8c30ac1a", "created_at": "2024-09-19T19:57:44.418798+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/0cdd5118-3414-4742-bf07-a8fa8c30ac1a", "rel": "self"}, {"href": "http://localhost/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a/ports", "rel": "self"}, {"href": "http://localhost/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a/states", "rel": "self"}, {"href": "http://localhost/nodes/0cdd5118-3414-4742-bf07-a8fa8c30ac1a/states", "rel": "bookmark"}]} PATCH: /v1/nodes/d0cd3552-e277-474a-8803-43a35bae8c25 [{'op': 'remove', 'path': '/retired'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-432f29fb-efd6-445a-8788-0ae1a34ad778 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "d0cd3552-e277-474a-8803-43a35bae8c25", "created_at": "2024-09-19T19:57:44.672156+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/d0cd3552-e277-474a-8803-43a35bae8c25", "rel": "self"}, {"href": "http://localhost/nodes/d0cd3552-e277-474a-8803-43a35bae8c25", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/ports", "rel": "self"}, {"href": "http://localhost/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/states", "rel": "self"}, {"href": "http://localhost/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/volume", "rel": "self"}, {"href": "http://localhost/nodes/d0cd3552-e277-474a-8803-43a35bae8c25/volume", "rel": "bookmark"}]} 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-7300ffeb-bbfd-4c27-95de-834df69eb9b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} PATCH: /v1/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b2a1503d-d812-4a0f-92f9-f10c9b8b3ed0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e1bd7a33-20c2-4917-9d87-3a3ed06b2013", "created_at": "2024-09-19T19:57:45.055004+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/e1bd7a33-20c2-4917-9d87-3a3ed06b2013", "rel": "self"}, {"href": "http://localhost/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/ports", "rel": "self"}, {"href": "http://localhost/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/states", "rel": "self"}, {"href": "http://localhost/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/volume", "rel": "self"}, {"href": "http://localhost/nodes/e1bd7a33-20c2-4917-9d87-3a3ed06b2013/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.082858s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.077354s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.081377s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.173345s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6944163-a2cd-40d2-85b8-af0cacd5f549 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "e4fe6622-d7b3-402f-b603-122047c8eed6", "created_at": "2024-09-19T19:57:44.404926+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/e4fe6622-d7b3-402f-b603-122047c8eed6", "rel": "self"}, {"href": "http://localhost/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/ports", "rel": "self"}, {"href": "http://localhost/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/states", "rel": "self"}, {"href": "http://localhost/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/volume", "rel": "self"}, {"href": "http://localhost/nodes/e4fe6622-d7b3-402f-b603-122047c8eed6/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4 [{'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-cafff3ce-9300-4886-a73b-ad43702ac60f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "b3458b46-98d1-40a3-ab64-adf0438beae4", "created_at": "2024-09-19T19:57:44.713187+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/b3458b46-98d1-40a3-ab64-adf0438beae4", "rel": "self"}, {"href": "http://localhost/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/ports", "rel": "self"}, {"href": "http://localhost/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/states", "rel": "self"}, {"href": "http://localhost/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/volume", "rel": "self"}, {"href": "http://localhost/nodes/b3458b46-98d1-40a3-ab64-adf0438beae4/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/543abe60-56b7-41cc-b0e3-94328da474b2 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8335696-46ff-4351-8cee-d4ce538a1a70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "543abe60-56b7-41cc-b0e3-94328da474b2", "created_at": "2024-09-19T19:57:44.937057+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/543abe60-56b7-41cc-b0e3-94328da474b2", "rel": "self"}, {"href": "http://localhost/nodes/543abe60-56b7-41cc-b0e3-94328da474b2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/543abe60-56b7-41cc-b0e3-94328da474b2/ports", "rel": "self"}, {"href": "http://localhost/nodes/543abe60-56b7-41cc-b0e3-94328da474b2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/543abe60-56b7-41cc-b0e3-94328da474b2/states", "rel": "self"}, {"href": "http://localhost/nodes/543abe60-56b7-41cc-b0e3-94328da474b2/states", "rel": "bookmark"}]} PATCH: /v1/nodes/86e4706f-934b-4cc6-91f0-5e0920cd6897 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d15cafb-ffd6-4137-8ed2-51ea54ce2852 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.113970s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.075172s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.101861s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.140784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.375509s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.103214s] ... ok PATCH: /v1/nodes/20faf307-6c81-4c0a-8cda-2d3ec773ab07 [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-525a7145-3d36-445f-8d25-cc2ca5a6317b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-795f77d2-b4fa-4b90-a069-84989b7cf193 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:45.296672+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-56ab2db9-9d01-4d89-95c7-b9d772bc75e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-95bd6b9f-723a-4530-be2b-9ad5ddfd9c6f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '1eacb5c7-f342-4d8a-92f2-d542267c8aec', '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': {}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.141774s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.180079s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.116957s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.142226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.236451s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.085563s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.125362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.120384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.039940s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.046829s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.049503s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.137500s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.051257s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.047787s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c26056f-6253-4276-a8a1-cc07cd33d298 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "71640ade-c270-411c-8771-e2aa57321016", "created_at": "2024-09-19T19:57:45.017230+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/71640ade-c270-411c-8771-e2aa57321016", "rel": "self"}, {"href": "http://localhost/nodes/71640ade-c270-411c-8771-e2aa57321016", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/71640ade-c270-411c-8771-e2aa57321016/ports", "rel": "self"}, {"href": "http://localhost/nodes/71640ade-c270-411c-8771-e2aa57321016/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/71640ade-c270-411c-8771-e2aa57321016/states", "rel": "self"}, {"href": "http://localhost/nodes/71640ade-c270-411c-8771-e2aa57321016/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/71640ade-c270-411c-8771-e2aa57321016/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/71640ade-c270-411c-8771-e2aa57321016/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/71640ade-c270-411c-8771-e2aa57321016/volume", "rel": "self"}, {"href": "http://localhost/nodes/71640ade-c270-411c-8771-e2aa57321016/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/c26ae3fc-5fa5-4b01-8e54-fcb782541cde [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d37f9d7-f6a4-4013-9e24-0e2231df13aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/5a0e1fec-9954-4e18-ad69-e0742a234485 [{'op': 'remove', 'path': '/protected'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd4eed1c-1a48-47f4-a39e-5841d9d3d5df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "5a0e1fec-9954-4e18-ad69-e0742a234485", "created_at": "2024-09-19T19:57:45.599522+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/5a0e1fec-9954-4e18-ad69-e0742a234485", "rel": "self"}, {"href": "http://localhost/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/ports", "rel": "self"}, {"href": "http://localhost/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/states", "rel": "self"}, {"href": "http://localhost/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/volume", "rel": "self"}, {"href": "http://localhost/nodes/5a0e1fec-9954-4e18-ad69-e0742a234485/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/faae4ca7-878f-4e16-b019-f37abc9bc625 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3ea65c97-72d7-4392-b877-275381665cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/d0f656bd-bc65-40ef-bff5-c93fecb8c196 [{'path': '/retired', 'value': True, 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.196390s] ... ok PATCH: /v1/nodes/c03e4e0f-c733-4b86-afe5-2ca3e697cb13 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0483429a-1c8b-43fb-891a-7a480d17b1e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/6a22df37-fcd8-4b0c-8ed3-461240fc2b7d [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-848aac87-f5ee-4e35-8665-c88a5dbc0797 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '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-62cf789e-a46d-4cc4-9d81-3db55305e53b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5abeea3-e5bc-4188-8106-c7c3e8bfa7c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {'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-4ae602f3-0dde-42cd-aa59-a5f66d83c7f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:45.984984+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:45.984984+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_explicit_resource_class [0.073303s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.068695s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aa320685-30c3-4d11-9e05-327a3f39deb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'uefi'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e78483f5-94ce-4ca2-bf23-e6ff2d71a55d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1007ed1-74ed-4a2c-ba95-08afff783aa6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4b6e23f6-56b1-4d7b-9de1-ee21cf5db9f0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f94d0f9e-0564-4d91-8bc5-68e476ff282f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b1550ea6-9733-47fb-a2a0-595ed8439c05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-be199bd6-cdcc-4381-8f9c-2af6fe772eea X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-c5a5ed82-547d-448b-9cab-e19175c89320 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-83e03889-b7e1-46e3-bebc-8557a02c68dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e5c18a07-3812-4cf9-9762-49a0be631561 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b0b5c139-2064-4cdd-b21b-62431aaa4623 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7932ab8b-037e-44e4-9a0f-540c79fab849 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-259ff23b-21e1-4a98-b8d3-09470f7411c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-871ce95d-0c20-4b4d-ac63-968bfe073652 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2ed15e3f-2d40-4c0d-b8c7-985e8022c77c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'rebuild', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-abd02270-0f09-4665-986c-a7b2df633991 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.098819s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.229426s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.151381s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec Openstack-Request-Id: req-fafa3fab-1e68-480f-af20-bfa91355c562 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1eacb5c7-f342-4d8a-92f2-d542267c8aec", "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/1eacb5c7-f342-4d8a-92f2-d542267c8aec", "rel": "self"}, {"href": "http://localhost/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec/ports", "rel": "self"}, {"href": "http://localhost/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec/ports", "rel": "bookmark"}]} GET: /v1/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec {} GOT:{'uuid': '1eacb5c7-f342-4d8a-92f2-d542267c8aec', '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/1eacb5c7-f342-4d8a-92f2-d542267c8aec', 'rel': 'self'}, {'href': 'http://localhost/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1eacb5c7-f342-4d8a-92f2-d542267c8aec/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-77413121-398b-4cba-abc2-b86b5b3de26f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:45.688146+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:45.688146+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:45.688146+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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.456696s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7af8fb34-3bb4-43f6-b9f7-b8858099835f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "d0f656bd-bc65-40ef-bff5-c93fecb8c196", "created_at": "2024-09-19T19:57:45.966536+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/d0f656bd-bc65-40ef-bff5-c93fecb8c196", "rel": "self"}, {"href": "http://localhost/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/ports", "rel": "self"}, {"href": "http://localhost/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/states", "rel": "self"}, {"href": "http://localhost/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/volume", "rel": "self"}, {"href": "http://localhost/nodes/d0f656bd-bc65-40ef-bff5-c93fecb8c196/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/43385771-7bda-4732-9f11-d6e4e357b57e [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f5063e5-e1c1-468d-9609-c781e6bf6ef8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "43385771-7bda-4732-9f11-d6e4e357b57e", "created_at": "2024-09-19T19:57:46.203565+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/43385771-7bda-4732-9f11-d6e4e357b57e", "rel": "self"}, {"href": "http://localhost/nodes/43385771-7bda-4732-9f11-d6e4e357b57e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/ports", "rel": "self"}, {"href": "http://localhost/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/states", "rel": "self"}, {"href": "http://localhost/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/volume", "rel": "self"}, {"href": "http://localhost/nodes/43385771-7bda-4732-9f11-d6e4e357b57e/volume", "rel": "bookmark"}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.064218s] ... 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': '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-573a146f-28f4-40d3-b492-480a7eef51be X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.053012+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.053012+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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d32dafe6-cd28-434c-bbd7-a39147e2c19b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ae8056f-add8-41ba-b24b-ec7e491a159a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.122160s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.072161s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a067a52a-f07d-4d6b-881b-b9b9e9f77130 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.140653+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': '2024-09-19T19:57:46.140653+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': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.140665s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.232098s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-5eb4f6b1-cd0d-4076-a5dc-c439d776566b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.371388+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.371388+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': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ca3906fa-3e9f-4c13-8e41-d5d8bced7c8b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.483556+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_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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.054386s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-282660fe-7a01-406b-a98b-6c7c3fe9c0b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.331304+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.331304+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': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7a132590-ffa5-406e-9944-b96754c518fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.104395s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.147947s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.097114s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.137778s] ... ok 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': {}, '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-c159298f-bc7a-45b7-add7-3db74e8cd553 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.548988+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.548988+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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.053505s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.056806s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.119487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.613420s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.104439s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.046972s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.035872s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.140704s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.032593s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.150937s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.109644s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.038974s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.034589s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.127658s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bf05ae47-e996-4b93-af2e-03fa0e749346 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a284715-ca00-483b-8004-a71563caaa07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['fake', 'no-bios'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ce13bda-e1d9-4a7e-9382-f768ff671dd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e739c19d-60b1-4442-8ab5-af906404b3d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a887431c-bbac-4f7f-ae9f-0c7d31a8892f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.094017s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd71e85e-a036-43a2-a76d-404dbba736da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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-308121c1-aa07-4e69-9f92-9913da220362 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} 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-924d52ca-623f-45f9-91d2-095901b514c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'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-58749971-ae1f-4600-a749-b7a269cdce2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.883471+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.883471+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b7b74ff3-402c-4941-9110-cc49a4ebe446 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.975799+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.079642s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.095291s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.185384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.047013s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.038470s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.043857s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.093939s] ... ok 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-277e3147-4865-4c5a-ac9d-c67af8391dcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} POST: /v1/nodes {'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-6fecba50-452f-41a3-beca-de5594341bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b0087493-1e3f-4b22-bc2a-59eebf0b0387 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:46.806133+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.806133+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': '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-fa205c40-69b6-427b-9418-66d0b1f161c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.140221s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.063343s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.030795s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.051000s] ... 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': {}, 'owner': 'cowsay', '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-1a77b3fe-eca0-4ba7-9fca-05171653a78b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:47.024339+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:47.024339+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 {'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-f910b85f-5fb1-422c-b046-53bb9d59b927 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.159858s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.061197s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6b88d493-af36-446e-afb8-a02cf4352824 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:47.108201+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": "ravensay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:47.108201+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': 'ravensay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'catsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_system_scope [0.137080s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.156869s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.089212s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.158422s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.072710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.084758s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.145304s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.053238s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8830444b-b9a3-4d8b-af81-5ca2c2b53c30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b3f76633-4233-4371-bb53-740453776c52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0c9b4c35-4ded-43e5-89c8-2ecf77f66767 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-08bdab8c-0cbd-44c2-a9f4-fce1fcd74032 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-2ba1998b-7406-49e7-a4b4-3ab72ea02903 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} 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-a23a17c3-53fa-420c-93a0-b3b4064f5308 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e7ed5ec0-caa3-4009-8227-861b408a855b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f96a5da7-6cd7-429d-a1af-355210463519 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.070481s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.140563s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.429092s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.115039s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.087077s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.147279s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.074696s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:46.975799+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-b2bda193-4dcf-42ef-8864-4c651e3ed128 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:47.072901+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:47.072901+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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cfe295ed-ac52-49b2-b73a-29fef997c0f6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8186a411-1e30-47c9-b0f0-d3da7c021413 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-26da6e97-2f0c-43e2-9a4c-60dd8ae42421 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 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-d05db710-a51c-4a59-9dc7-02334b3416da X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-91c247d6-b097-4afb-a9aa-05d38e4250fe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 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-460450d3-aa6b-4a72-89e8-432e474f8830 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'unsupported-efi'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55d8f616-68b1-43db-bd18-b47a9a773633 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.126754s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.082010s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.071807s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.094237s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.046783s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.117212s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.084160s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.139936s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.130036s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.067893s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.068155s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.092803s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.102415s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.097245s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ba81d1c-4db8-4cf9-8a7c-4fcebc7d7da9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60b55596-a85e-4b1a-829f-2d924ba94741 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f1e26239-f7b9-4f91-a227-6bd4e463100b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-473e1cdf-342e-4145-8f9f-283ac42b942c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-3b88cda9-710d-4411-90cc-0c843ddd1162 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/maintenance {'reason': 'fake'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3debd25e-aef3-4a1f-85a9-2d1f2f51fa1d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-7039e7a1-25e5-4cc5-aafb-fc1ef0b6672d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-02c1e6e1-6c15-4a2c-ba6c-affb4ebd4b9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7dab23c9-16ce-42a5-9c17-ff589910f135 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da716ce2-fe48-4532-b300-9eaad095e44a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d60ae0d9-0a3c-4cf2-a5d8-38b96d375d41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-936e1f51-3a98-4865-bd7d-04971a6a211d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f8dade42-3838-4bcb-aec1-c63256a2006c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b9cae300-2710-4f94-bee7-55e4f8100af0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61f6eb3e-bf0b-4e58-8cb4-895cde5b340c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-79d51a05-1315-40a2-ad49-85ed82c7ee1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/b071fb40-13e7-4b25-8a6e-9cb16cd8f901 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f019f57-b8a6-415f-82ad-12b62280cbe4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/?limit=3 {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.153526s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.124853s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.148830s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.160707s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-61650b5b-d4ab-44f3-b60a-ae08a4381145 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:47.211703+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": "catsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:47.211703+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': 'catsay', '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', '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-cce392a6-c6d6-4e09-a785-b41247f24de1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '394faacd-aa39-44f9-a94e-1b886000ddc6', '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/394faacd-aa39-44f9-a94e-1b886000ddc6 Openstack-Request-Id: req-9c405b14-9a06-4874-87ed-df36be676193 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "394faacd-aa39-44f9-a94e-1b886000ddc6", "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/394faacd-aa39-44f9-a94e-1b886000ddc6", "rel": "self"}, {"href": "http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/ports", "rel": "self"}, {"href": "http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/states", "rel": "self"}, {"href": "http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/volume", "rel": "self"}, {"href": "http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/volume", "rel": "bookmark"}]} GET: /v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6 {} GOT:{'uuid': '394faacd-aa39-44f9-a94e-1b886000ddc6', '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/394faacd-aa39-44f9-a94e-1b886000ddc6', 'rel': 'self'}, {'href': 'http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/394faacd-aa39-44f9-a94e-1b886000ddc6/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35', '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/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35 Openstack-Request-Id: req-0d1af95e-7ef7-46bc-ab9c-4d228fc3e8da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35", "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/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35", "rel": "self"}, {"href": "http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/ports", "rel": "self"}, {"href": "http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/states", "rel": "self"}, {"href": "http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/volume", "rel": "self"}, {"href": "http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/volume", "rel": "bookmark"}]} GET: /v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35 {} GOT:{'uuid': '2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35', '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/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35', 'rel': 'self'}, {'href': 'http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2dbde6e9-b6a6-4909-bdf0-13b4f8fe2e35/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '292d5cef-eacc-4147-80ff-64919262e5fc', '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/292d5cef-eacc-4147-80ff-64919262e5fc Openstack-Request-Id: req-00ea5a2e-c722-4852-8b3e-353debf6b745 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "292d5cef-eacc-4147-80ff-64919262e5fc", "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/292d5cef-eacc-4147-80ff-64919262e5fc", "rel": "self"}, {"href": "http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/states", "rel": "self"}, {"href": "http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/volume", "rel": "bookmark"}]} GET: /v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc {} GOT:{'uuid': '292d5cef-eacc-4147-80ff-64919262e5fc', '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/292d5cef-eacc-4147-80ff-64919262e5fc', 'rel': 'self'}, {'href': 'http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/292d5cef-eacc-4147-80ff-64919262e5fc/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '97e274a7-7d05-4037-9b39-50cf6593b417', '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/97e274a7-7d05-4037-9b39-50cf6593b417 Openstack-Request-Id: req-c8573fc1-057f-4858-81cd-d054ccb6b4b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "97e274a7-7d05-4037-9b39-50cf6593b417", "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/97e274a7-7d05-4037-9b39-50cf6593b417", "rel": "self"}, {"href": "http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/ports", "rel": "self"}, {"href": "http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/states", "rel": "self"}, {"href": "http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/volume", "rel": "self"}, {"href": "http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/volume", "rel": "bookmark"}]} GET: /v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417 {} GOT:{'uuid': '97e274a7-7d05-4037-9b39-50cf6593b417', '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/97e274a7-7d05-4037-9b39-50cf6593b417', 'rel': 'self'}, {'href': 'http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/97e274a7-7d05-4037-9b39-50cf6593b417/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '9d3279ed-f368-48fe-bf8a-74cae6e381a5', '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/9d3279ed-f368-48fe-bf8a-74cae6e381a5 Openstack-Request-Id: req-9829cf6d-dd77-48eb-a185-726cedef5c6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "9d3279ed-f368-48fe-bf8a-74cae6e381a5", "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/9d3279ed-f368-48fe-bf8a-74cae6e381a5", "rel": "self"}, {"href": "http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/states", "rel": "self"}, {"href": "http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/volume", "rel": "self"}, {"href": "http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/volume", "rel": "bookmark"}]} GET: /v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5 {} GOT:{'uuid': '9d3279ed-f368-48fe-bf8a-74cae6e381a5', '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/9d3279ed-f368-48fe-bf8a-74cae6e381a5', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d3279ed-f368-48fe-bf8a-74cae6e381a5/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'd6c93306-d63e-40c9-bbb3-1a6c067b2d14', '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/d6c93306-d63e-40c9-bbb3-1a6c067b2d14 Openstack-Request-Id: req-bbadbaec-dacb-4a35-b00a-84ff5434e3d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "d6c93306-d63e-40c9-bbb3-1a6c067b2d14", "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/d6c93306-d63e-40c9-bbb3-1a6c067b2d14", "rel": "self"}, {"href": "http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/ports", "rel": "self"}, {"href": "http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/states", "rel": "self"}, {"href": "http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/volume", "rel": "self"}, {"href": "http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/volume", "rel": "bookmark"}]} GET: /v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14 {} GOT:{'uuid': 'd6c93306-d63e-40c9-bbb3-1a6c067b2d14', '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/d6c93306-d63e-40c9-bbb3-1a6c067b2d14', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6c93306-d63e-40c9-bbb3-1a6c067b2d14/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'aa138091-7949-4906-a4e7-25145cb403ed', '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/aa138091-7949-4906-a4e7-25145cb403ed Openstack-Request-Id: req-8dd1d1dc-c973-4de0-b9db-13146ed79f1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "aa138091-7949-4906-a4e7-25145cb403ed", "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/aa138091-7949-4906-a4e7-25145cb403ed", "rel": "self"}, {"href": "http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/ports", "rel": "self"}, {"href": "http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/states", "rel": "self"}, {"href": "http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/volume", "rel": "self"}, {"href": "http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/volume", "rel": "bookmark"}]} GET: /v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed {} GOT:{'uuid': 'aa138091-7949-4906-a4e7-25145cb403ed', '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/aa138091-7949-4906-a4e7-25145cb403ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/aa138091-7949-4906-a4e7-25145cb403ed/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa138091-7949-4906-a4e7-25145cb403ed/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '27cdad14-90ee-4807-abd3-019314249e03', '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/27cdad14-90ee-4807-abd3-019314249e03 Openstack-Request-Id: req-f33a77ef-73df-46cb-9ab8-c76b904257a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "27cdad14-90ee-4807-abd3-019314249e03", "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/27cdad14-90ee-4807-abd3-019314249e03", "rel": "self"}, {"href": "http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/ports", "rel": "self"}, {"href": "http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/states", "rel": "self"}, {"href": "http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/volume", "rel": "self"}, {"href": "http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/volume", "rel": "bookmark"}]} GET: /v1/nodes/27cdad14-90ee-4807-abd3-019314249e03 {} GOT:{'uuid': '27cdad14-90ee-4807-abd3-019314249e03', '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/27cdad14-90ee-4807-abd3-019314249e03', 'rel': 'self'}, {'href': 'http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/27cdad14-90ee-4807-abd3-019314249e03/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/27cdad14-90ee-4807-abd3-019314249e03/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '40710181-c174-4382-a76f-8e96fa2b6cf6', '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/40710181-c174-4382-a76f-8e96fa2b6cf6 Openstack-Request-Id: req-7e923835-8a83-4229-968e-f87b2995e048 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "40710181-c174-4382-a76f-8e96fa2b6cf6", "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/40710181-c174-4382-a76f-8e96fa2b6cf6", "rel": "self"}, {"href": "http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/ports", "rel": "self"}, {"href": "http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/states", "rel": "self"}, {"href": "http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/volume", "rel": "self"}, {"href": "http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/volume", "rel": "bookmark"}]} GET: /v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6 {} GOT:{'uuid': '40710181-c174-4382-a76f-8e96fa2b6cf6', '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/40710181-c174-4382-a76f-8e96fa2b6cf6', 'rel': 'self'}, {'href': 'http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/40710181-c174-4382-a76f-8e96fa2b6cf6/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'f0a6954b-5630-4773-a6db-c25a4be6d021', '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/f0a6954b-5630-4773-a6db-c25a4be6d021 Openstack-Request-Id: req-46a51fe4-f014-4a0b-a905-76d4c5c88d20 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "f0a6954b-5630-4773-a6db-c25a4be6d021", "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/f0a6954b-5630-4773-a6db-c25a4be6d021", "rel": "self"}, {"href": "http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/ports", "rel": "self"}, {"href": "http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/states", "rel": "self"}, {"href": "http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/volume", "rel": "self"}, {"href": "http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/volume", "rel": "bookmark"}]} GET: /v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021 {} GOT:{'uuid': 'f0a6954b-5630-4773-a6db-c25a4be6d021', '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/f0a6954b-5630-4773-a6db-c25a4be6d021', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0a6954b-5630-4773-a6db-c25a4be6d021/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '48242a80-c680-4c2b-a7f3-9126b7d24faa', '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/48242a80-c680-4c2b-a7f3-9126b7d24faa Openstack-Request-Id: req-d7c0e96b-84dc-49d2-92e8-c7c8b9d6bab6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "48242a80-c680-4c2b-a7f3-9126b7d24faa", "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/48242a80-c680-4c2b-a7f3-9126b7d24faa", "rel": "self"}, {"href": "http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/ports", "rel": "self"}, {"href": "http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/states", "rel": "self"}, {"href": "http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/volume", "rel": "self"}, {"href": "http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/volume", "rel": "bookmark"}]} GET: /v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa {} GOT:{'uuid': '48242a80-c680-4c2b-a7f3-9126b7d24faa', '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/48242a80-c680-4c2b-a7f3-9126b7d24faa', 'rel': 'self'}, {'href': 'http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/48242a80-c680-4c2b-a7f3-9126b7d24faa/volume', 'rel': 'bookmark'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [0.709451s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.040583s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.102193s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.092337s] ... ok POST: /v1/nodes {'uuid': '33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb Openstack-Request-Id: req-16640316-daaf-416d-a47f-92c090b72e59 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb", "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/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb", "rel": "self"}, {"href": "http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/ports", "rel": "self"}, {"href": "http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/states", "rel": "self"}, {"href": "http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/volume", "rel": "self"}, {"href": "http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/volume", "rel": "bookmark"}]} GET: /v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb {} GOT:{'uuid': '33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb', '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/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b8b0b7-b1b0-407f-a4ea-e87083ee4bbb/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-497ff484-c493-4c49-99f7-589100509a80 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {'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'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.096102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.096057s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.084121s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.041408s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.026059s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.085171s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.128652s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d1c0ba04-f9e6-4c1f-b529-50944df9fd4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b672adb2-e2f6-4858-aa37-47c5c1ec3ca8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-59422455-ac00-4f96-b1a8-a58b51041dda X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0cc7655d-8124-443d-bc6c-460120076556 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-029b67a3-d99c-4b87-bdb1-b37f5802db7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8fba3de1-db17-45f3-a97d-6a4f605bb939 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-15dae0dc-9c64-4691-b2a2-8f10c18c66fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a3d5244-824c-47f2-8ca1-fc30d98b5386 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-191f35b3-ab06-491f-a7be-91555b0f0987 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-00897612-03f4-486a-b751-1100d10bcf01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4d4d127-433f-4fe4-b536-e84c4c5e7ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-de7c5761-d387-4e74-8fd4-19cabcfd9886 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d726d792-7200-43bd-8652-d86791d34897 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.121370s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-0f717da2-0fe1-4937-bce0-f659b5b892bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:48.241894+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:48.241894+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-adae1af8-e59b-4429-b167-45a50825253b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:48.330368+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-19T19:57:48.330368+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'class1', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01ab7be1-f42a-4d9c-90b4-a7537ed10b5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} 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-01769051-85ae-433a-af92-7ebd863fcb63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.076214s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.064015s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.061282s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.086493s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.036209s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.165547s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.036279s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.090084s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.028894s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.035280s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.032167s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.143649s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.038257s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.155663s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.055966s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.036734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.124073s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.095973s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.037837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.101009s] ... ok GOT:{'ports': [{'uuid': 'c1210477-1237-4b29-9507-87c9194a4444', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c1210477-1237-4b29-9507-87c9194a4444', 'rel': 'self'}, {'href': 'http://localhost/ports/c1210477-1237-4b29-9507-87c9194a4444', 'rel': 'bookmark'}]}, {'uuid': '44abaf2b-a9c1-470d-85e8-d29cd88538e2', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/44abaf2b-a9c1-470d-85e8-d29cd88538e2', 'rel': 'self'}, {'href': 'http://localhost/ports/44abaf2b-a9c1-470d-85e8-d29cd88538e2', 'rel': 'bookmark'}]}, {'uuid': '74200d80-afa1-4f60-a03e-fd95d775a50e', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/74200d80-afa1-4f60-a03e-fd95d775a50e', 'rel': 'self'}, {'href': 'http://localhost/ports/74200d80-afa1-4f60-a03e-fd95d775a50e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=74200d80-afa1-4f60-a03e-fd95d775a50e'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-385c3afa-44e7-4d98-8e74-c37c2515fd24 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '646073e9-1954-4c6f-b313-5ab5292f4691', 'created_at': '2024-09-19T19:57:48.520186+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/646073e9-1954-4c6f-b313-5ab5292f4691', 'rel': 'self'}, {'href': 'http://localhost/ports/646073e9-1954-4c6f-b313-5ab5292f4691', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': '4d577aa5-fb90-45c6-a6b4-1d5cf4ac45bf', 'created_at': '2024-09-19T19:57:48.522927+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/4d577aa5-fb90-45c6-a6b4-1d5cf4ac45bf', 'rel': 'self'}, {'href': 'http://localhost/ports/4d577aa5-fb90-45c6-a6b4-1d5cf4ac45bf', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:48.609854+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:48.789864+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': '111a4ce7-7ea5-4f3a-b366-9800fedf9d3e', 'created_at': '2024-09-19T19:57:48.823212+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/111a4ce7-7ea5-4f3a-b366-9800fedf9d3e', 'rel': 'self'}, {'href': 'http://localhost/ports/111a4ce7-7ea5-4f3a-b366-9800fedf9d3e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f2f5067-034a-41b0-a352-29996a83ef92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:48.925909+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?sort_key=uuid {} GOT:{'ports': [{'uuid': 'ea24f57a-8b89-4f81-8f7b-b60dba0bcc4c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ea24f57a-8b89-4f81-8f7b-b60dba0bcc4c', 'rel': 'self'}, {'href': 'http://localhost/ports/ea24f57a-8b89-4f81-8f7b-b60dba0bcc4c', 'rel': 'bookmark'}]}, {'uuid': 'f811dced-5fac-486d-822b-23db077ae0b7', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/f811dced-5fac-486d-822b-23db077ae0b7', 'rel': 'self'}, {'href': 'http://localhost/ports/f811dced-5fac-486d-822b-23db077ae0b7', 'rel': 'bookmark'}]}, {'uuid': 'ff1233aa-2922-47d1-bb34-59e8c5e67ef8', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/ff1233aa-2922-47d1-bb34-59e8c5e67ef8', 'rel': 'self'}, {'href': 'http://localhost/ports/ff1233aa-2922-47d1-bb34-59e8c5e67ef8', '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-77033a42-7737-4b37-8da2-b5d1a9ccd536 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ae8b0c9-38b8-4270-ac1a-2e340dd3a113 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.082563s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.042603s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.154657s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.039632s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.069345s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.080686s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.090670s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.139833s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.679078s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.088072s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.109139s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.041879s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.099333s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.092718s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.066907s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.046453s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.099757s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.066279s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.102188s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.102240s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.075822s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.081760s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.090319s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.141953s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.079258s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.105299s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.108379s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.114485s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.147618s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.103613s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8952ea22-5a12-477c-a8de-0fe892d329db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.118034+00:00", "updated_at": "2024-09-19T19:57:49.135958+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': '', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc2b5283-de9e-4654-a0e8-92353159e235 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f1d00261-14fa-4304-88b3-8b30c3b64a2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} PATCH: /v1/ports/64069fe7-ce63-40aa-a00b-e516ba9fe596 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f386620-cdbb-4899-9a9c-d1e1cde65072 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "64069fe7-ce63-40aa-a00b-e516ba9fe596", "created_at": "2024-09-19T19:57:49.271664+00:00", "updated_at": "2024-09-19T19:57:49.300328+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/64069fe7-ce63-40aa-a00b-e516ba9fe596", "rel": "self"}, {"href": "http://localhost/ports/64069fe7-ce63-40aa-a00b-e516ba9fe596", "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-237aa831-f937-4b69-9367-2a558ff40bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-19bbf39b-8719-4553-b162-ee50d1bd539f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-7339b162-66bf-4338-b640-201a4ecaf603 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.483221+00:00", "updated_at": "2024-09-19T19:57:49.494042+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_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b6d2b42-2cb6-4df5-95ae-174d2edad847 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.533876+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '1ec7a9da-e033-48f0-954d-d8bd5bacc453', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc1d0ed8-e23e-47fe-81ac-365620b5441d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.594484+00:00", "updated_at": "2024-09-19T19:57:49.635617+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": "1ec7a9da-e033-48f0-954d-d8bd5bacc453"} 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-6fce0638-c990-49f6-b92c-a5e9f8b1f1ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}] {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.132140s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.096332s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.133413s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.118167s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.049864s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.040358s] ... ok 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-cee12ad2-780d-468e-aaba-15f385d972da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"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-3a1f3d2a-52f1-4172-98b9-5f5bbac3fa60 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-a566f097-5141-415c-876b-93ae24ef8290 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8ea1245e-5c82-4061-81f6-f52af60a4bd7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4932bf2c-a53c-4eb4-8712-3a7f19af5184 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6158e014-9b9a-4f63-af9c-4d9d2c484862 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f036e81e-1282-417d-8ee7-f9dd8909cd51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-7bfab460-0883-4bb8-8d77-ffd6c4c8b783 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f46fde01-e96a-4596-af20-868000d2c35d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-467a9ec0-f97b-4606-8656-bd7335acc0c2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-16767b6a-8c6a-4a10-ba1f-2c5d9e321c4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a537ed35-9386-4faf-bcad-1c38463e004f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-98745b2e-5cdd-4c1e-8e41-c82206d74f8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-eb804776-2994-4c1e-9364-686490085084 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7cab9ac3-7283-47fd-8e8d-fa69f2e292b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-02c84940-327d-464e-b4f6-bd7fc1a01166 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5ce9b154-68b2-4aa9-8ce9-35899046cec8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.125782s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.036533s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.026401s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.096195s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a6d0c7ae-18a8-4bc9-809b-c9198beb4d98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.70 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-3fe4d4ca-c62f-4969-a5f2-c9a5a44be195 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 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-6f57a5bd-9d37-4242-bace-1c31c44f709e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62844be0-871c-4d5a-9beb-f6937c401e8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-547c7988-88b9-4c43-b65f-fb13e7d7dfe6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d15ce4f0-fae1-4b3f-bf4f-64d98e6c94c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbca34ed-b6aa-44ee-a654-709431c6adcf X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d48410e-e1ec-4828-9901-6fc4dbe87658 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cfa11dd3-13b6-46bb-9358-44f85af5b0ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3f8387ba-180c-42de-91ca-2486bc35bff8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8744cee5-fb53-4c01-ab31-d921ae023aef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50ab516a-39e4-49f4-963b-6bbad5d46568 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-590da006-c54b-4e2b-bec9-0c253114c537 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3fe10651-292c-444a-97a8-f33e364e1edc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-80afb6b2-ceec-4f02-838a-4de818d1f814 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1dda73ed-5ee4-43e3-aa46-6a285cece87c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-795776e5-8042-47fa-b40c-2a7a9e2b3e53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.167939s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.033896s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.055135s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.099157s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.088301s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.033780s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e11c4504-95cc-450e-a733-3c7c2c67e5d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-61346ded-1e51-4bad-b6c4-2782e20f5fe2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89fab025-0658-4dba-b6a9-49c84b2db25e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-228c559b-b3ed-4950-ae48-cba34e913bea X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-608a62d9-f009-4b3a-8cc5-9d7c5e34d937 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2b74585c-9a83-454c-8deb-4ce9d74f5f49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c134587-32bd-4a31-b455-4e0595eaa2bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d8cfbb7b-5988-4308-9238-a03a9e85345a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-30fc55a2-cb1e-455d-845d-4c23ded605f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-ed4f58d6-7b1e-4b4a-aaef-a20eda6214db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-20bd7f85-9ab8-4444-93b2-ba00b158a1e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-1b120c80-4621-4074-a5b8-a57429c40727 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-264658d4-1d38-43de-8b40-0d83d35c4b3d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df5f17b1-de1e-42ed-af66-c7f59077cbde X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-75c30382-ec90-4b74-b6b9-ba95f40219e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.291278s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.105122s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.081139s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.217200s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.115763s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.071809s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.076380s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.057883s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.099574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.053345s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.045755s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34738fbe-9bab-4d58-a281-92b0b1f6947b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.781509+00:00", "updated_at": "2024-09-19T19:57:49.845688+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b937a258-e874-4e0d-bdbe-658d8d7bb640 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:49.913354+00:00", "updated_at": "2024-09-19T19:57:49.946595+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-39786e28-b609-46b2-8568-cfb7aad65b18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: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-e8250446-0827-4904-ad32-c0c719d34a05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': {'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-fa5824bd-3a87-4447-894a-0e8e83e17972 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.318927+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:50.318927+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-7201d2e4-bd2a-48e7-b099-09d8b4a8c3a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} 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'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.038240s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.068533s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.034700s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.039312s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.037863s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.142077s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.242551s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.069145s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.078229s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.034035s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.110114s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.106928s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.100578s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.077103s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.085027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.066032s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.046788s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.094364s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.037281s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.129484s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.075542s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.138224s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.041607s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c4e889e-d2b7-4a54-931c-d5dc853ec91e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-90ee5703-9d0d-4bf6-a08b-b8e59f828138 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.533948+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', '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-183fea06-02eb-4252-ae72-54c2c38be150 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-5e1e0d52-ad51-46ee-be65-d5e7f6973d78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.606605+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-dc7ccfdf-14f9-4a49-9ff5-b8f132c7971e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.671749+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': '5425998b-8016-493c-a79b-5afb70015589', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1af3fe16-0c3f-47f4-bdec-f2d1586c0fea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 5425998b-8016-493c-a79b-5afb70015589 could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9686004e-b527-4a9e-8cf6-c8c303bb17c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {'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-bc6aa652-abee-4851-b8da-6c56fb437179 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.891090+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 {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.054533s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.046092s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.056009s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.050353s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.060010s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.023870s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.149277s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.038880s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.134592s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.079148s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.046851s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.060902s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.105384s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.109627s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.053929s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.028785s] ... ok 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-c6cd9714-4c3a-423b-9138-bb4c37a8921f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-65372518-c82c-4f8e-9c63-767c635402cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-14e0c49e-296f-4a96-9e80-e68010814fb3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'boo!'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d449331d-a4c8-4ec5-9947-f8b86a3efe33 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': ''} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f8ee5a4-1ab9-4abc-9a99-a788e2898019 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-40c914b0-9e8f-4750-af77-b7f52a84fce2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': True} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-feb474ff-cdec-4051-a739-1b32f95c8b7a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2e442e4-59ba-4be8-b69b-c7c63f67a29f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 204 No Content Openstack-Request-Id: req-cd13f5c1-ca57-45f2-af7b-aa8d405d3240 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b50e35b1-54bb-478b-a296-c7f45b8d6754 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-6bb67925-215f-4407-8ab1-6581aa585758 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-504c667d-203d-4748-b95f-b94b6ed840d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-46e7b9c5-1d1b-45d8-b84b-d1fb15bc4ce3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-be1a608a-cd74-4096-a458-67bbc5f92281 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d565eb6-3d13-47c9-9a14-9f4680443235 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-10e73aca-db9d-497a-a6b1-39027c314f32 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-edfdfba9-a05d-4336-84f8-6ee6aebc33b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} GOT:{'ports': []} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.052426s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.027536s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.041590s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.093272s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.133611s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.087000s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.036645s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:50.891090+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', '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-6324d2d6-5fba-467a-8038-3e41322f14cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.940101+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4a3977f0-b9b3-49d7-8a0c-0a140f0b5d68 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:50.998386+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': {'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-e3545579-23f3-46bf-8ecc-6cfc1ba4446a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:51.049036+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-26543241-50c2-4869-9812-401900a0358c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f3fb9849-2481-4b62-b224-03263ccd760e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, '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-2576dab7-d660-41db-a560-e456a3128446 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-2bc00788-f8f3-40a5-94b2-66ac59ead6da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 GET: /v1/portgroups/?limit=3 {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.076097s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.073738s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.043558s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.042369s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.150230s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.057290s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.060539s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.039391s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f0057468-bac9-4a35-8d70-fd19d7be167b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-1480b151-c3b8-4963-9ec6-0a28af531efc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-89f012ed-9de4-496f-83d8-199df7fde307 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'active', 'rescue_password': 'password'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-054fce07-b0dd-46b3-87f5-dde6b402ed6f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b3de3b57-0de4-4656-a08a-e110cc5174ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-df7e22f3-357d-481e-b80c-f7dc945a9941 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f0af14a9-d402-46d9-8902-55b64a7ad5e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b02558bd-9d7e-4d5d-b0b0-d330b94db0ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-fc4baa74-b655-4bfc-9073-231973873741 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9c4c1ce4-f85c-419d-86bc-5ad2b5821c11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d959a3f9-7924-4f57-9f15-2efa0e59c686 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '{"meta_data": '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c73fa581-1971-48af-9b24-ff9b391d3443 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-93dc1d28-ea59-4a28-8c1e-b11aacf6e45d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b6141a63-2607-4575-a127-88f79ac0bad9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-efbf250c-a819-4793-a1ee-bb02f4175738 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.160768s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.066632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.115216s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.055347s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.118448s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.050323s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.095363s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.093738s] ... ok GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:51.226088+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&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c022206b-50f7-4bcd-9640-a5aa6f6fadf2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/828e8752-4f44-4ccf-b30b-79ce15b28ed0', 'rel': 'self'}, {'href': 'http://localhost/ports/828e8752-4f44-4ccf-b30b-79ce15b28ed0', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/272282df-5562-44c9-a4a2-aa016e8104a6', 'rel': 'self'}, {'href': 'http://localhost/ports/272282df-5562-44c9-a4a2-aa016e8104a6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=272282df-5562-44c9-a4a2-aa016e8104a6'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a247362-d580-499d-b359-b9bfa29b4b03 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f434e0ed-5f00-4658-a33f-88d6dd9d8e38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:51.460897+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:51.460897+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:51.517331+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:51.517331+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/d646bbb1-36cf-4746-b5ec-15b625e62953 {} GOT:{'uuid': 'd646bbb1-36cf-4746-b5ec-15b625e62953', 'created_at': '2024-09-19T19:57:51.570190+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'self'}, {'href': 'http://localhost/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/d646bbb1-36cf-4746-b5ec-15b625e62953 {} GOT:{'uuid': 'd646bbb1-36cf-4746-b5ec-15b625e62953', 'created_at': '2024-09-19T19:57:51.570190+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'self'}, {'href': 'http://localhost/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/d646bbb1-36cf-4746-b5ec-15b625e62953 {} GOT:{'uuid': 'd646bbb1-36cf-4746-b5ec-15b625e62953', 'created_at': '2024-09-19T19:57:51.570190+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'self'}, {'href': 'http://localhost/ports/d646bbb1-36cf-4746-b5ec-15b625e62953', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 123 123\"}"} GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15160e92-cfa4-4def-85fc-8e1fcea3d6ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d42ce042-30e9-4b3e-984d-aa07c1823277 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.042335s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.064673s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.095538s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.065252s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8f339e49-2032-40a3-aa34-59eed4825f45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d1ef6c63-d5e5-4190-9eb5-26a7084e1f4b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-080bf088-23af-4cdd-acc5-659ae9810fa0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3b198b85-2047-455d-87c9-fddbf8f354da X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6e8732ac-e6dc-4db7-9ebb-77ac56e90dc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d84057e3-89bc-47b4-920e-c52ff70c1fdd X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-257ce147-cbb9-451f-bcfe-0e95308c240f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d66ae9d5-c932-44ff-a2eb-41e11e9554f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-770667b9-4285-4345-b164-5fa557f760fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2a0a4e75-91be-4a82-94d3-8dece089951f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': ['aabb']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef79d532-199f-46ac-bb55-b426b9076037 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , , for configdrive: ['aabb']\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8774eb43-40dc-4b5f-a6e1-728ed4e77088 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-39e0dcfa-0451-4b67-bf8f-51e9cf0f9660 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.69\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb5f4690-9d93-40b4-8971-a13f7d486739 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e986beef-5ee2-4843-8e28-477516fe648a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-69409a35-178b-4166-ad5e-772e4923b77a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-636f8155-1beb-4fc7-9ded-bf771be8975b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f5887ead-3e4c-488a-8bb5-e1fe9512c8b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 2} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.114442s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.126106s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.066130s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.098096s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.031958s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.395115s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.039563s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.108964s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.061845s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.090717s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.090733s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.032050s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.038574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.026002s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.081660s] ... ok GOT:{'portgroups': [{'uuid': '7da41131-ab15-4e8b-9d3f-9bcab5e09889', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/7da41131-ab15-4e8b-9d3f-9bcab5e09889', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7da41131-ab15-4e8b-9d3f-9bcab5e09889', 'rel': 'bookmark'}]}, {'uuid': 'e4460123-56f3-4011-a8c7-3a2287ef8170', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/e4460123-56f3-4011-a8c7-3a2287ef8170', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e4460123-56f3-4011-a8c7-3a2287ef8170', 'rel': 'bookmark'}]}, {'uuid': '7d52e777-60e1-4831-88dc-f4e42569144c', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/7d52e777-60e1-4831-88dc-f4e42569144c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7d52e777-60e1-4831-88dc-f4e42569144c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=7d52e777-60e1-4831-88dc-f4e42569144c'} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '0bca20e4-bb54-4bab-8765-85d5e12d0827', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/0bca20e4-bb54-4bab-8765-85d5e12d0827', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0bca20e4-bb54-4bab-8765-85d5e12d0827', 'rel': 'bookmark'}]}, {'uuid': 'edf4ae18-ae74-437a-a5e7-83410400d843', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/edf4ae18-ae74-437a-a5e7-83410400d843', 'rel': 'self'}, {'href': 'http://localhost/portgroups/edf4ae18-ae74-437a-a5e7-83410400d843', 'rel': 'bookmark'}]}, {'uuid': '014ea61e-93e6-4250-9724-d17f8c4b2eda', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/014ea61e-93e6-4250-9724-d17f8c4b2eda', 'rel': 'self'}, {'href': 'http://localhost/portgroups/014ea61e-93e6-4250-9724-d17f8c4b2eda', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=014ea61e-93e6-4250-9724-d17f8c4b2eda'} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{'portgroups': [{'uuid': '6236c396-f8f6-4a2b-85c0-85686643c7bd', 'created_at': '2024-09-19T19:57:51.445086+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/6236c396-f8f6-4a2b-85c0-85686643c7bd', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6236c396-f8f6-4a2b-85c0-85686643c7bd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6236c396-f8f6-4a2b-85c0-85686643c7bd/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6236c396-f8f6-4a2b-85c0-85686643c7bd/ports', 'rel': 'bookmark'}]}, {'uuid': 'dc54a646-cae3-4c5f-bd9e-e4a000d1d59a', 'created_at': '2024-09-19T19:57:51.444206+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/dc54a646-cae3-4c5f-bd9e-e4a000d1d59a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dc54a646-cae3-4c5f-bd9e-e4a000d1d59a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/dc54a646-cae3-4c5f-bd9e-e4a000d1d59a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dc54a646-cae3-4c5f-bd9e-e4a000d1d59a/ports', 'rel': 'bookmark'}]}, {'uuid': 'e0bfbacb-781b-467b-bd17-bd7718479b81', 'created_at': '2024-09-19T19:57:51.443210+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/e0bfbacb-781b-467b-bd17-bd7718479b81', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e0bfbacb-781b-467b-bd17-bd7718479b81', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/e0bfbacb-781b-467b-bd17-bd7718479b81/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e0bfbacb-781b-467b-bd17-bd7718479b81/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:{'portgroups': []} GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:51.548141+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=uuid,extra {} GOT:{'portgroups': [{'uuid': '19524107-437e-4713-bda3-3fae3f20a01e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/19524107-437e-4713-bda3-3fae3f20a01e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/19524107-437e-4713-bda3-3fae3f20a01e', 'rel': 'bookmark'}]}, {'uuid': 'd50ec8a5-4d10-4f4e-9a0d-c0ad7fdae553', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/d50ec8a5-4d10-4f4e-9a0d-c0ad7fdae553', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d50ec8a5-4d10-4f4e-9a0d-c0ad7fdae553', 'rel': 'bookmark'}]}, {'uuid': '3865ebfa-db60-4e20-9b9e-cdaf0d0d7095', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/3865ebfa-db60-4e20-9b9e-cdaf0d0d7095', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3865ebfa-db60-4e20-9b9e-cdaf0d0d7095', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/0465b326-c36e-4049-9d48-f400ae52b665', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0465b326-c36e-4049-9d48-f400ae52b665', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/9a13cf8b-a176-40d2-a37b-351720dd7a06', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9a13cf8b-a176-40d2-a37b-351720dd7a06', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=9a13cf8b-a176-40d2-a37b-351720dd7a06'} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:52.065495+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 {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.150459s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.128779s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.603009s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab230baa-5454-4f59-8ff8-983c6bd1a00c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-73d0da82-95a2-4827-b36b-f0f92b66d586 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb53eaa3-6677-453b-8278-ce98fa711c19 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:51.725973+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_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11c1a8ee-a035-446d-acd3-e679c9761757 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-455f7545-ea09-4c40-85fd-57e1315717d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6376d1e0-39a0-4b79-99a4-76fb5b832ec3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/portgroup_uuid', 'value': 'e81eb797-7e0c-4051-bd8c-1ea65d2d855f', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-048af8ff-dc91-4e76-bfcb-35114be6fd45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'daf5d285-52ac-40c4-aaae-132811579e8f', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae5a394a-27b0-48a1-9917-bb0e5b32c386 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:52.071206+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/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-e85116c9-70df-460b-9c02-06cde84db62b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} 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/20c3503e-ecd6-42fc-8446-e51683a801e5 Openstack-Request-Id: req-97097fa9-c7ed-4c0f-b910-c66794768965 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "20c3503e-ecd6-42fc-8446-e51683a801e5", "created_at": "2024-09-19T19:57:52.345294+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/20c3503e-ecd6-42fc-8446-e51683a801e5", "rel": "self"}, {"href": "http://localhost/ports/20c3503e-ecd6-42fc-8446-e51683a801e5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/20c3503e-ecd6-42fc-8446-e51683a801e5 {} GOT:{'uuid': '20c3503e-ecd6-42fc-8446-e51683a801e5', 'created_at': '2024-09-19T19:57:52.345294+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/20c3503e-ecd6-42fc-8446-e51683a801e5', 'rel': 'self'}, {'href': 'http://localhost/ports/20c3503e-ecd6-42fc-8446-e51683a801e5', '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': '', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.038360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.035378s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.137041s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.091581s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.116254s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.072673s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.076972s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.053292s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.070304s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.039883s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.145032s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.659999s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.113276s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.096247s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.083686s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.076131s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.041867s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.044570s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.093218s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.097037s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.096224s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.034860s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.075724s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.027163s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.031586s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.119591s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.045009s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.121713s] ... ok GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:52.217809+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.json', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '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:f1 {} GOT:{'portgroups': [{'uuid': '80000254-7693-4712-8e03-23a6b31689b0', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/80000254-7693-4712-8e03-23a6b31689b0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/80000254-7693-4712-8e03-23a6b31689b0', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=mode {} GOT:{'portgroups': [{'uuid': 'd1feb674-63d5-4d8c-a8b5-d12e34ff7040', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/d1feb674-63d5-4d8c-a8b5-d12e34ff7040', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d1feb674-63d5-4d8c-a8b5-d12e34ff7040', 'rel': 'bookmark'}]}, {'uuid': '2ab36fdd-0ace-4884-93e4-95f678404581', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/2ab36fdd-0ace-4884-93e4-95f678404581', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2ab36fdd-0ace-4884-93e4-95f678404581', 'rel': 'bookmark'}]}, {'uuid': '2d935cb6-abb8-4fd6-8ccb-97dcbe548c9f', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/2d935cb6-abb8-4fd6-8ccb-97dcbe548c9f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2d935cb6-abb8-4fd6-8ccb-97dcbe548c9f', 'rel': 'bookmark'}]}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6fa9a550-e271-40af-ab1f-371a7a9c5626 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3470284a-40a1-4323-b417-01a6f9c151c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:52.752936+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 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59e43dbe-d12a-428c-ba71-dd8f39523d8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:52.812747+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-c9ecf319-a407-4860-a10f-e9764b8d9797 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:52.856346+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-b0e58739-cada-4eba-9ce5-57db3ca7fa31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}"} 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'} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.093649s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.083210s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.058336s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.075267s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0342469-72f4-4a14-8403-2518dc4061f9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '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-4d722e9d-c21d-4f1b-bf9d-d799905436a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-874e81fd-ccf1-47d6-9fd6-97bba76750be X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0284a3e1-1573-4bd2-8202-55521d5939e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:52.583190+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': '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-207725a3-b53e-4793-a81c-2d029041eecc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c88d320f-8a95-4b7e-8cab-c85a76a47e46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-55f626cd-c538-4652-9a18-4a2c7681000d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail {} 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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8ad8c20a-ef73-4866-a7b5-55b94a90012f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e7ff52b-d699-426e-a8e4-9364b6165a1a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.055589s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.025719s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.050983s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.107247s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.096710s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.111837s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.067355s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.036064s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.060931s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.039619s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.033094s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.063025s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.035591s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.049054s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.030826s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.096172s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.034061s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.038723s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.096560s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.019268s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.070866s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.063494s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.080065s] ... ok GOT:{'portgroups': [{'uuid': 'f3707ffd-91d1-4625-8bf0-f17fecc7d0b7', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/f3707ffd-91d1-4625-8bf0-f17fecc7d0b7', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f3707ffd-91d1-4625-8bf0-f17fecc7d0b7', 'rel': 'bookmark'}]}, {'uuid': 'a050df41-fc1d-413d-938f-979d9abdbb3c', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/a050df41-fc1d-413d-938f-979d9abdbb3c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a050df41-fc1d-413d-938f-979d9abdbb3c', 'rel': 'bookmark'}]}, {'uuid': '5f0f2f42-f5f6-40ca-b76c-5b7838169524', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/5f0f2f42-f5f6-40ca-b76c-5b7838169524', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5f0f2f42-f5f6-40ca-b76c-5b7838169524', 'rel': 'bookmark'}]}, {'uuid': '7e65e99a-a7eb-4b5c-9c9f-5bebdba82552', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/7e65e99a-a7eb-4b5c-9c9f-5bebdba82552', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7e65e99a-a7eb-4b5c-9c9f-5bebdba82552', 'rel': 'bookmark'}]}, {'uuid': 'e62eebb1-47b1-4706-a919-b71e05087f07', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/e62eebb1-47b1-4706-a919-b71e05087f07', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e62eebb1-47b1-4706-a919-b71e05087f07', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} GET: /v1/portgroups/8d88a973-f6a8-40b4-9219-b998ea32d505/ports {} GOT:{'ports': [{'uuid': 'efb4f778-5787-45d7-acb5-a7f123e6067e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'self'}, {'href': 'http://localhost/ports/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'bookmark'}]}, {'uuid': '829a90e5-5450-49f7-82eb-d284d4ef8e24', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/829a90e5-5450-49f7-82eb-d284d4ef8e24', 'rel': 'self'}, {'href': 'http://localhost/ports/829a90e5-5450-49f7-82eb-d284d4ef8e24', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/8d88a973-f6a8-40b4-9219-b998ea32d505/ports/detail {} GOT:{'ports': [{'uuid': 'efb4f778-5787-45d7-acb5-a7f123e6067e', 'created_at': '2024-09-19T19:57:53.137955+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/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'self'}, {'href': 'http://localhost/ports/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '8d88a973-f6a8-40b4-9219-b998ea32d505'}, {'uuid': '829a90e5-5450-49f7-82eb-d284d4ef8e24', 'created_at': '2024-09-19T19:57:53.138852+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/829a90e5-5450-49f7-82eb-d284d4ef8e24', 'rel': 'self'}, {'href': 'http://localhost/ports/829a90e5-5450-49f7-82eb-d284d4ef8e24', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '8d88a973-f6a8-40b4-9219-b998ea32d505'}]} GET: /v1/portgroups/8d88a973-f6a8-40b4-9219-b998ea32d505/ports?limit=1 {} GOT:{'ports': [{'uuid': 'efb4f778-5787-45d7-acb5-a7f123e6067e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'self'}, {'href': 'http://localhost/ports/efb4f778-5787-45d7-acb5-a7f123e6067e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=efb4f778-5787-45d7-acb5-a7f123e6067e'} GET: /v1/portgroups/8d88a973-f6a8-40b4-9219-b998ea32d505/ports/d29e45f8-5634-4fd1-9cff-699d417f4f36 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/8d88a973-f6a8-40b4-9219-b998ea32d505/ports/b9bb4d65-e776-4777-b4e3-2b3e2feda108 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8cb6b8a3-f99d-42d7-b81f-b910fb70136e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=uuid {} GOT:{'portgroups': [{'uuid': '6c7b9b7c-ae65-40d0-ab11-da5f84c8e84d', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6c7b9b7c-ae65-40d0-ab11-da5f84c8e84d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6c7b9b7c-ae65-40d0-ab11-da5f84c8e84d', 'rel': 'bookmark'}]}, {'uuid': '9743fbf3-74ed-4c9c-afe2-f7e9a413bb11', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/9743fbf3-74ed-4c9c-afe2-f7e9a413bb11', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9743fbf3-74ed-4c9c-afe2-f7e9a413bb11', 'rel': 'bookmark'}]}, {'uuid': 'cbf0f7aa-ff80-41c2-8efe-4723c02df87e', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/cbf0f7aa-ff80-41c2-8efe-4723c02df87e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cbf0f7aa-ff80-41c2-8efe-4723c02df87e', '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-298d5191-0ff1-48a4-98a6-d2ff995bf451 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c74390f7-b2c4-4b6e-847a-59c294bca41e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-85a29658-9041-4f71-aaae-c537b9526584 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.033366s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.036142s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.052299s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.062454s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.060195s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.058359s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.055405s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.027669s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.125804s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.028680s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.047770s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.095078s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.145836s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.136184s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.164292s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-8a04984b-7309-4e7c-b587-4df29cb44707 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:52.997053+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:52.997053+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', '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-4137887e-c71d-4aa3-ba9a-1a3c35ac3984 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-c5497447-1916-453b-aedb-1b8f71d6b8da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-69bf1b39-47e2-4986-a569-16cf55e1f2a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-145b4378-20d4-4bc4-86e3-cfa8006f966d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-bc369440-620f-46d9-951a-465d1702b797 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-1c3b8ec7-47e3-4fff-8e60-d5d02aeea968 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-c868aa09-4097-45be-be41-8ce64673531a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/6c3a193d-f8d6-49fa-bb0f-acdc0d6e4da0 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad3a5722-5e8d-4163-995b-18c49d0fc046 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-2a31c473-663a-49d3-98a8-9fcccd3195d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-f0a62ec7-e577-473d-827e-310e75ae804c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-cf14ae82-5c09-483a-b8ec-d92342b9514b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': 'e6225f59-f6e3-487c-9c48-27c63c5ae6cf', '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/e6225f59-f6e3-487c-9c48-27c63c5ae6cf', 'rel': 'self'}, {'href': 'http://localhost/nodes/e6225f59-f6e3-487c-9c48-27c63c5ae6cf', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=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 {} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.051118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.065064s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.078180s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.075759s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.053309s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.099727s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.038429s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.073244s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.063426s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.044534s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.037202s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.090239s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.051415s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.045854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.082906s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.065457s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.018486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.013832s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.014312s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.013578s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.012985s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.011808s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.019794s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0109de05-5ba3-4a1a-b82e-ee3287292500 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e2b1d88-a4d0-4728-8fbe-b532a6547530 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-29661bcb-3db9-4236-b61c-33b9787ff027 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-39eec614-f361-4193-a69d-f7110f01a556 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-ae46db4d-de72-41de-9950-39d483613ea8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-03952a4f-a011-4afe-b617-4b88f9ca3a44 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-7de0982e-63de-43ed-a8ff-b68036935f2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-749f06b4-104b-4d31-b8c1-a3ac4a91a14c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-e74efa36-be32-4fa3-9667-39693a133695 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/management/indicators/led@system {'state': 'on'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94e4f0b9-d555-45c9-b733-0ae536aa5173 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} GOT:Response: 204 No Content Openstack-Request-Id: req-01fb3690-dac4-42be-affa-5480254d4fcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d3fd3957-0cdd-434b-9f09-c2d5e3c0f66a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ff6947f9-db5a-4aa3-bb32-9f5a6949223b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2596cfc7-fa41-4916-a45b-77283323cd41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-102fbaf2-a311-45ad-8c3a-348b62532c09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad8050aa-0f0a-4640-80ff-5e2a3bdb215a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-57d66beb-d4a7-48b9-8d20-c7a13fbca7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-4dde919b-3ed8-45e0-ac96-c605fa76716d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-70a904bd-7674-4a7c-89bd-beb76ecf6d9d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} GET: /v1/ports?fields=address,uuid {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.128315s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.150660s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.029854s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.122630s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.025497s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.015750s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.013253s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.012976s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.014389s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.068776s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.020136s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7306131-a806-483e-8ba0-a25a820d662e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 1} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-85a859c1-e873-4154-b7f8-08eb52781d20 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e4c607e6-e3d9-4134-900c-54f78428917e X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ad8a2d2-9b54-497f-8acc-50842f8ccff0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-0ed4b25a-15af-483d-b48c-0f45a492d23d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f19a6cc1-0934-42c6-b150-96b95b12f970 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-da40591d-785b-4279-b4ac-61889ddba735 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-4d9a1640-2277-490b-8953-c2c9bdcc1fd3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37b01d89-fa58-402f-8b85-6e06b3f1e0cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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 {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-846f9351-b5b3-47f1-bb7d-16c046369c8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-971fd0f1-7614-4548-9a4a-bb5e2a4b1370 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcbb34a2-c0a8-41fa-8595-962da7852233 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2cd94f77-955e-4d41-9fc4-9aca92b83c30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '110555c9-8635-498c-b0d2-de5938c252de', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/110555c9-8635-498c-b0d2-de5938c252de', 'rel': 'self'}, {'href': 'http://localhost/ports/110555c9-8635-498c-b0d2-de5938c252de', 'rel': 'bookmark'}]}, {'uuid': 'b1cd43d9-bd4b-431f-91e4-5684d0e42e19', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/b1cd43d9-bd4b-431f-91e4-5684d0e42e19', 'rel': 'self'}, {'href': 'http://localhost/ports/b1cd43d9-bd4b-431f-91e4-5684d0e42e19', 'rel': 'bookmark'}]}, {'uuid': 'ea65a46e-2826-4478-b8da-94f227840bb7', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/ea65a46e-2826-4478-b8da-94f227840bb7', 'rel': 'self'}, {'href': 'http://localhost/ports/ea65a46e-2826-4478-b8da-94f227840bb7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=ea65a46e-2826-4478-b8da-94f227840bb7'} GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-22988da1-4a3d-45ed-b404-70ac9f76b854 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} 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?sort_key=pxe_enabled {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.056971s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.035415s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.101161s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.028013s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.408577s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.016908s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.026632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.130056s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.085906s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.043560s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-554a17e4-ca1e-45df-80c4-f2b6d9920395 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:53.384480+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3f3fc21-017c-4066-b3a9-9fbcdc6647ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eeb9c4d0-47b3-4303-9eff-32529625d1bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"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-96a552f4-f612-440b-8da8-e2159192e978 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:53.522531+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-678cf1a6-c4e6-4078-bcff-8e8fe9e0e372 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/pg.1 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46cd9ff7-972c-4526-a31f-d8b6814d78af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/39eb877f-1085-4001-bfab-be68ec8f102a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-692cc721-d6c2-494f-8c79-b39a616e59e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 39eb877f-1085-4001-bfab-be68ec8f102a could not be found.\", \"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-341c9bb7-7f0c-4073-bd5f-ee79d75b61cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-e0a5d52c-62ef-413f-b284-eceffbfd06bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-f8820999-4e32-41a9-8d15-ef933074346c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.078222s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.049640s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.049613s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.112535s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.032439s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.036544s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.016450s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.013448s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.036014s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.013113s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.025140s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.163089s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.026081s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.069908s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.026939s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.161974s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.063081s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.128603s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.056739s] ... ok 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-353547d5-82c9-46ab-be12-37aa20219b95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:54.393460+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': '9fad7a55-7a07-492c-bf99-8b1304c52ecf', 'name': '5e99c346-54fe-4346-ab0a-a7b02c7bc49b', '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-37ae7a14-9801-4fa1-8b2e-92f979ddb288 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '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-3bbb52ee-7659-407a-b965-bff4b9777ed5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:54.455346+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-df1edb79-b652-4742-bd72-1eb3f541ce45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/portgroups {'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e Openstack-Request-Id: req-a6823057-ce88-4118-bf89-de62f42446b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9033166e-bb28-4d37-bd40-ea234ef4a64e", "created_at": "2024-09-19T19:57:54.523018+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/9033166e-bb28-4d37-bd40-ea234ef4a64e", "rel": "self"}, {"href": "http://localhost/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e/ports", "rel": "bookmark"}]} GET: /v1/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e {} GOT:{'uuid': '9033166e-bb28-4d37-bd40-ea234ef4a64e', 'created_at': '2024-09-19T19:57:54.523018+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/9033166e-bb28-4d37-bd40-ea234ef4a64e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9033166e-bb28-4d37-bd40-ea234ef4a64e/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', '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-954910be-e8b2-480b-befc-73c9046487d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:54.584497+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "802.3ad", "name": "fooname", "properties": {"bond_prop": 123}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.046941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.038337s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.033454s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.103526s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.037771s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.034725s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.103538s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.067913s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.173676s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.044642s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.072015s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.101394s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.246720s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.050797s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.150389s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.078667s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.052957s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.120177s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.144026s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.110304s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.064493s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.151459s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.033380s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.034231s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.050269s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.026211s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.111749s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.039188s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d488c78c-4ace-4c24-8c5b-398231fb1baf X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f07506d0-e4e9-49e3-a6f9-9bf80c4cd30c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': '49f75a32-5d31-4b64-9570-a465a55b61b4', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/49f75a32-5d31-4b64-9570-a465a55b61b4', 'rel': 'self'}, {'href': 'http://localhost/ports/49f75a32-5d31-4b64-9570-a465a55b61b4', 'rel': 'bookmark'}]}, {'uuid': '3287bf98-d392-48e2-8ce4-49a29551f69b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/3287bf98-d392-48e2-8ce4-49a29551f69b', 'rel': 'self'}, {'href': 'http://localhost/ports/3287bf98-d392-48e2-8ce4-49a29551f69b', 'rel': 'bookmark'}]}, {'uuid': '6f7b6d3b-38ad-42d9-8188-03822cb21ee7', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/6f7b6d3b-38ad-42d9-8188-03822cb21ee7', 'rel': 'self'}, {'href': 'http://localhost/ports/6f7b6d3b-38ad-42d9-8188-03822cb21ee7', 'rel': 'bookmark'}]}]} GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:54.672176+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=fooname {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:54.791919+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,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4ff80357-1201-4c18-9062-f95ef35def8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e0dee938-88da-49e1-9877-1f799b5386a9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.186963+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.186963+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.219330+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.219330+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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6b6a8071-9a0c-4804-aaaa-c71a1a9fd382 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.034312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.040137s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.070805s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.036672s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.189300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.103059s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.042155s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.060327s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.070921s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.070019s] ... ok GOT:{'ports': [{'uuid': 'ae464681-5bd2-49a8-96d8-36b4db2e4029', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ae464681-5bd2-49a8-96d8-36b4db2e4029', 'rel': 'self'}, {'href': 'http://localhost/ports/ae464681-5bd2-49a8-96d8-36b4db2e4029', 'rel': 'bookmark'}]}, {'uuid': '6ff0379f-ad92-494d-95d7-e5354c7a642a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/6ff0379f-ad92-494d-95d7-e5354c7a642a', 'rel': 'self'}, {'href': 'http://localhost/ports/6ff0379f-ad92-494d-95d7-e5354c7a642a', 'rel': 'bookmark'}]}, {'uuid': '5b426aac-ea60-4018-a7c0-7a4ee6349ee0', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/5b426aac-ea60-4018-a7c0-7a4ee6349ee0', 'rel': 'self'}, {'href': 'http://localhost/ports/5b426aac-ea60-4018-a7c0-7a4ee6349ee0', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=5b426aac-ea60-4018-a7c0-7a4ee6349ee0'} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:54.143081+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': True, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?node=test-node {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:54.220360+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': '2024-09-19T19:57:54.347971+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=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?node=test-node {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e959f7c5-4768-49e9-9ae4-bf9e4d9e1d00 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?node=test-node {} GOT:{'ports': [{'uuid': 'ba24ac18-614b-41a5-9ee7-ec9f66430ee8', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ba24ac18-614b-41a5-9ee7-ec9f66430ee8', 'rel': 'self'}, {'href': 'http://localhost/ports/ba24ac18-614b-41a5-9ee7-ec9f66430ee8', 'rel': 'bookmark'}]}, {'uuid': '2f5f8269-bdfb-425a-a51d-84316a758834', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/2f5f8269-bdfb-425a-a51d-84316a758834', 'rel': 'self'}, {'href': 'http://localhost/ports/2f5f8269-bdfb-425a-a51d-84316a758834', 'rel': 'bookmark'}]}, {'uuid': 'befe6876-4924-45f4-a3a1-8a1af0d54758', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/befe6876-4924-45f4-a3a1-8a1af0d54758', 'rel': 'self'}, {'href': 'http://localhost/ports/befe6876-4924-45f4-a3a1-8a1af0d54758', 'rel': 'bookmark'}]}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-158cd99f-6390-4b44-9ea7-9e7d8864a44f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?fields=uuid,extra {} GOT:{'ports': [{'uuid': 'af954d54-1335-48cc-b2d1-34df28e01e83', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/af954d54-1335-48cc-b2d1-34df28e01e83', 'rel': 'self'}, {'href': 'http://localhost/ports/af954d54-1335-48cc-b2d1-34df28e01e83', 'rel': 'bookmark'}]}, {'uuid': '0566032f-1bb1-4e7a-af07-4135056ab02c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0566032f-1bb1-4e7a-af07-4135056ab02c', 'rel': 'self'}, {'href': 'http://localhost/ports/0566032f-1bb1-4e7a-af07-4135056ab02c', 'rel': 'bookmark'}]}, {'uuid': '29921f2f-b62c-4783-aee1-8359910707d7', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/29921f2f-b62c-4783-aee1-8359910707d7', 'rel': 'self'}, {'href': 'http://localhost/ports/29921f2f-b62c-4783-aee1-8359910707d7', 'rel': 'bookmark'}]}]} 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-588153ce-ad5f-41c2-9c26-0db1e7294e53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '2024-09-19T19:57:55.274789+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.335654+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 {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.110535s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.061367s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.060203s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.129102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.055800s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-b2fd64cb-092b-4a72-b19e-c479999d6b26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:54.635255+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:54.635255+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, '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-4527746d-cb18-4c03-9e5e-78d1fd7893ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': '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-5cc48073-781f-470d-82ab-f90bfac08eaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a71dbe5c-be47-4833-bf26-afbe5b2f1975 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-6653dfae-587a-4abb-8d8c-38715bd33571 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-ed50cdcd-0f47-487e-b33e-7bd154534237 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-29852c28-b32e-4f71-883e-b2c6dc25acef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-9912a064-27a8-4545-933d-6f056367c091 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-fa9d958b-9bfc-4940-99e7-d895ab0bbfb1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-2c27f145-0e39-40dd-8869-dd5e1bbf3c1d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.71 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} GET: /v1/lookup?node_uuid=39d169d4-43c0-415e-a4e8-ed113c2da2e5 {} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.162063s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.044121s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.028910s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.053772s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.143084s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.100849s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.114969s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.046198s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.064681s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.087646s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.048110s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.050723s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.038700s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.124566s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.120041s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.096736s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.067666s] ... ok GOT:{'ports': [{'uuid': '4e239b67-6d63-4e4e-8689-d8d458d64645', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/4e239b67-6d63-4e4e-8689-d8d458d64645', 'rel': 'self'}, {'href': 'http://localhost/ports/4e239b67-6d63-4e4e-8689-d8d458d64645', 'rel': 'bookmark'}]}, {'uuid': 'd6b75287-336b-46ce-b01f-fe59f649067a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d6b75287-336b-46ce-b01f-fe59f649067a', 'rel': 'self'}, {'href': 'http://localhost/ports/d6b75287-336b-46ce-b01f-fe59f649067a', 'rel': 'bookmark'}]}, {'uuid': 'f462d1b1-ecb0-40d9-ba23-e77e067e5e9f', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/f462d1b1-ecb0-40d9-ba23-e77e067e5e9f', 'rel': 'self'}, {'href': 'http://localhost/ports/f462d1b1-ecb0-40d9-ba23-e77e067e5e9f', 'rel': 'bookmark'}]}, {'uuid': '8c8d4d28-21d4-4053-b52c-fe0fcfbb9b02', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/8c8d4d28-21d4-4053-b52c-fe0fcfbb9b02', 'rel': 'self'}, {'href': 'http://localhost/ports/8c8d4d28-21d4-4053-b52c-fe0fcfbb9b02', 'rel': 'bookmark'}]}, {'uuid': '704e88b0-ebbe-449e-96a8-a73cd8758b23', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/704e88b0-ebbe-449e-96a8-a73cd8758b23', 'rel': 'self'}, {'href': 'http://localhost/ports/704e88b0-ebbe-449e-96a8-a73cd8758b23', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': 'ed52a232-80a1-4733-a0b7-68166a4db941', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ed52a232-80a1-4733-a0b7-68166a4db941', 'rel': 'self'}, {'href': 'http://localhost/ports/ed52a232-80a1-4733-a0b7-68166a4db941', 'rel': 'bookmark'}]}, {'uuid': '8a6954f0-55c7-4099-aedc-129b7d0208db', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/8a6954f0-55c7-4099-aedc-129b7d0208db', 'rel': 'self'}, {'href': 'http://localhost/ports/8a6954f0-55c7-4099-aedc-129b7d0208db', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '2a724a8c-d54a-46b4-95f8-5d358c60d0d8', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/2a724a8c-d54a-46b4-95f8-5d358c60d0d8', 'rel': 'self'}, {'href': 'http://localhost/ports/2a724a8c-d54a-46b4-95f8-5d358c60d0d8', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': []} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '46a8b134-99ae-4899-9d49-efb55a4fec5f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/46a8b134-99ae-4899-9d49-efb55a4fec5f', 'rel': 'self'}, {'href': 'http://localhost/ports/46a8b134-99ae-4899-9d49-efb55a4fec5f', 'rel': 'bookmark'}]}, {'uuid': 'fb029cb3-056e-41ac-a424-3c1743fd83d1', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/fb029cb3-056e-41ac-a424-3c1743fd83d1', 'rel': 'self'}, {'href': 'http://localhost/ports/fb029cb3-056e-41ac-a424-3c1743fd83d1', 'rel': 'bookmark'}]}]} 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-50e3f76f-7265-4996-8121-dc0987c2776d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:55.588805+00:00", "updated_at": "2024-09-19T19:57:55.599992+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': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-702a89f4-73f8-48b5-aec0-509d90a6541d X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'aa279881-fb7d-462f-8da7-b15efeb5cdb7', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74fda0b9-ef3c-4ad6-8650-41560b7c51b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:55.662725+00:00", "updated_at": "2024-09-19T19:57:55.678455+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": "aa279881-fb7d-462f-8da7-b15efeb5cdb7"} 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-9d7e21bf-7ce6-4386-9ad4-15790b7925be X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:55.708603+00:00", "updated_at": "2024-09-19T19:57:55.741804+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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9db6b05-54c6-476b-be2a-94fca731c070 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1622cfee-f803-4eff-b69c-7d6b88ae3444 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/710f96b4-6776-46a7-a6ce-83727c689d3e [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.038403s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.030178s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.034818s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.051110s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.060232s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.063461s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.127455s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.037054s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.034443s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.056172s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.143105s] ... ok GOT:{'node': {'uuid': '03bcb3dc-97d6-4ada-80ce-d85bbe503c6f', '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/03bcb3dc-97d6-4ada-80ce-d85bbe503c6f', 'rel': 'self'}, {'href': 'http://localhost/nodes/03bcb3dc-97d6-4ada-80ce-d85bbe503c6f', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=041f3e03-171a-447d-b653-89121bb7b6b1 {} GOT:{'node': {'uuid': '041f3e03-171a-447d-b653-89121bb7b6b1', '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/041f3e03-171a-447d-b653-89121bb7b6b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/041f3e03-171a-447d-b653-89121bb7b6b1', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/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-ade24e6e-ea8c-42c7-a362-07e7e82f3661 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'cda291cc-ab0a-442f-9a5a-b7cebba8b938', '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/cda291cc-ab0a-442f-9a5a-b7cebba8b938', 'rel': 'self'}, {'href': 'http://localhost/nodes/cda291cc-ab0a-442f-9a5a-b7cebba8b938', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=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': '73d7c711-1e1b-4156-9e14-53a1bef95da8', '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/73d7c711-1e1b-4156-9e14-53a1bef95da8', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d7c711-1e1b-4156-9e14-53a1bef95da8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6b4ec23-892f-461c-838d-c36e4b578aac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bc8eced-de24-4933-97de-be9c6f5eb09f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e1ecce28-756a-433c-b123-6e6973e175e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:{'connectors': [{'uuid': 'b5ab76ba-728e-4fcb-87be-866f830bfc16', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b5ab76ba-728e-4fcb-87be-866f830bfc16', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b5ab76ba-728e-4fcb-87be-866f830bfc16', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '43222bfe-589c-4c8a-9477-4eb264c006d7', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/43222bfe-589c-4c8a-9477-4eb264c006d7', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/43222bfe-589c-4c8a-9477-4eb264c006d7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1ad2a923-31c9-40b4-b1c8-ed32240b5c79', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1ad2a923-31c9-40b4-b1c8-ed32240b5c79', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1ad2a923-31c9-40b4-b1c8-ed32240b5c79', '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=1ad2a923-31c9-40b4-b1c8-ed32240b5c79'} GET: /v1/volume/connectors?detail=True {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.920079+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f1d9066-392f-4da6-a72c-0184b03d78f2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors {} GOT:{'connectors': []} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.030432s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.043020s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.134739s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.092987s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.115644s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.110941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.046101s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.107102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.039451s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.086832s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.097116s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.047843s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.039392s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.035798s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.055212s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.063867s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.023053s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.039534s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.038800s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.047197s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e0d6eb4b-e69a-47c2-ba89-48ff48a976c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b5c4fb4-294e-4f70-8cf2-69138645e8e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d1ef846a-c1d9-4328-8d28-145951f3dc8e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:55.926792+00:00", "updated_at": "2024-09-19T19:57:55.938359+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': '/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-3cfc863f-0603-48c0-b10e-8fb238a0d92d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:55.980823+00:00", "updated_at": "2024-09-19T19:57:56.002064+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-9e6d7d77-c287-444c-a3e7-f8d0c80d6437 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2acc21ef-612a-42e4-be1a-17204bcd96fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.067258+00:00", "updated_at": "2024-09-19T19:57:56.092890+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': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cf520ab-0b32-48ff-9f96-e8981338864c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.140217+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"} 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-371a10ce-d206-4442-ab3f-399f6bbb350b X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-363d6600-b69c-4038-baee-bdd6250a9c5e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-f3397405-3a5f-436e-88a0-c1c8695b3c67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.040237s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.065932s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.090599s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.048352s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.057659s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.032753s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.066361s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.037050s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.026683s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.030715s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.035189s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.033840s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.046146s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.063915s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.045625s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.031518s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.019287s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.394979+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:55.394979+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/20d07247-3436-46b2-9e3a-452e78a826d4 {} GOT:{'uuid': '20d07247-3436-46b2-9e3a-452e78a826d4', 'created_at': '2024-09-19T19:57:55.550721+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'self'}, {'href': 'http://foo/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/20d07247-3436-46b2-9e3a-452e78a826d4 {} GOT:{'uuid': '20d07247-3436-46b2-9e3a-452e78a826d4', 'created_at': '2024-09-19T19:57:55.550721+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'self'}, {'href': 'http://foo/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/20d07247-3436-46b2-9e3a-452e78a826d4 {} GOT:{'uuid': '20d07247-3436-46b2-9e3a-452e78a826d4', 'created_at': '2024-09-19T19:57:55.550721+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'self'}, {'href': 'http://foo/ports/20d07247-3436-46b2-9e3a-452e78a826d4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': 'ebd288c2-bf24-42f2-8db9-1dcf3a867a71', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/ebd288c2-bf24-42f2-8db9-1dcf3a867a71', 'rel': 'self'}, {'href': 'http://localhost/ports/ebd288c2-bf24-42f2-8db9-1dcf3a867a71', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2e2d858-5f3a-4ab2-bfd7-b80429c2a2b3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/ports?address=aa:bb:cc:dd:ee:ff {} 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=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-deae43b8-c3c4-4818-ab5c-a2d4adbd95a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-f7dff478-5e32-4443-b804-59b41791c697 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.028888+00:00", "updated_at": "2024-09-19T19:57:56.079508+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cb6bb8a7-c69b-458d-b464-f132500e98b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fafa1a01-20b3-4504-abe5-06b2633a0a81 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/local_link_connection/switch_id', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7c3fe2e1-7466-46e1-9a72-ac584d3c4a14 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f7e32e31-c30e-4e5e-9ef3-2472e79d3789 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eec7061b-d2a2-4d59-b75a-3a652a9c1b11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.504852+00:00", "updated_at": "2024-09-19T19:57:56.530604+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'}] {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.110970s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.081577s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.144919s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.031773s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.057269s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.070231s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.030347s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.069213s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.035100s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.035836s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.088545s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.030118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.078436s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f5001513-d7dd-4212-aaa6-28d91d5ddfce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.351740+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1ab7c4f4-7641-485f-981a-280aa38c4f70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.408830+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e5471507-71a6-4433-92cf-3a78e2c03611 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-800ab05a-cbf5-43c0-bb8f-1cf94bbecddb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-c0ca446f-5ac2-4a27-8025-d7748fd5b51d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-1b72d52c-34a8-4809-9024-ead333825a46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.610929+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', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83eb29d6-124c-4c57-aa83-723529f65a50 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'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-aac1ac87-8a2c-40cd-8e10-ebc2190e2edd X-Openstack-Ironic-Api-Maximum-Version: 1.80 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.093932s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.035339s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.037336s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.070018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.029520s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.090501s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.032394s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.038131s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:56.051880+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/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-a423c0a7-b471-4bf9-b339-74c9f7419a5e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.189774+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': '/value', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd6d161a-df27-4258-9ab8-460320f57c73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-faf5f973-73db-4991-88de-34aeae1c02a9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-86b79644-3b5e-4c7f-ac7e-dec4cf145953 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-70dc5fc3-eae6-4085-b42e-cd2e6d0c992c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3c0b764-b2d0-4e38-b338-68c842b01282 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.492964+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/d332c08a-f189-4407-91bc-bc9c85353c9b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4105be89-7da1-4281-9890-f8c10cba1b62 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector d332c08a-f189-4407-91bc-bc9c85353c9b could not be found.\", \"debuginfo\": null}"} 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/7edc1f28-f453-4952-86b1-a48a5417b983 Openstack-Request-Id: req-666e9b3c-0952-4da7-a4d4-3e32332abd4f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "7edc1f28-f453-4952-86b1-a48a5417b983", "created_at": "2024-09-19T19:57:56.643507+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/7edc1f28-f453-4952-86b1-a48a5417b983", "rel": "self"}, {"href": "http://localhost/volume/connectors/7edc1f28-f453-4952-86b1-a48a5417b983", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/7edc1f28-f453-4952-86b1-a48a5417b983 {} GOT:{'uuid': '7edc1f28-f453-4952-86b1-a48a5417b983', 'created_at': '2024-09-19T19:57:56.643507+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7edc1f28-f453-4952-86b1-a48a5417b983', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7edc1f28-f453-4952-86b1-a48a5417b983', '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-dd72d84b-ffb5-4d66-9388-b3faa7e07998 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-310fc098-a682-45bc-91ff-40eb082e3723 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.054514s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.050373s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.104768s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.072094s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.066545s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.038551s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.049133s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.041768s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.032308s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.037514s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.027952s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.037274s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.040870s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.029395s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.040231s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.096662s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.037102s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.034947s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.068554s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.026563s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.040185s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.037807s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.030287s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.062877s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.089326s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.033757s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.036278s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.065360s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.032164s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.035009s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.120095s] ... 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-2bd78df2-758b-4940-b6c9-21f7c47d7c4f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.794054+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-82f58cc0-9df5-4649-acb8-f7763f21dd88 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-2b96a6e4-4c25-4274-a1c0-5afd24b1a252 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c7fbb91-8013-401f-850e-03647e79b07c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail?node=test-node {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:57.032977+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': '2024-09-19T19:57:57.067938+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:57.098878+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?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-333ca85c-7b37-4340-96ba-8aafcd4135a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/8a39611e-3ad9-4265-9e94-f4f30e7b55bb/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-ad340ee6-fd45-49b6-ba7b-ae9699fcb6a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fd3b0827-3daa-489e-832e-8d2900d03f9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7590c2f3-3931-44d3-87a6-12239194435c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-72be4e19-ebfb-4540-9dda-eb946a30db6a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.029893s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.073793s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.038465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.039347s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.048001s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.044697s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.049846s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.042333s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.052848s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.055877s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.071140s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9f16ca76-f40a-4206-bc3f-8fa9113ca1dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.875252+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': '6b18da80-46f7-4b34-8ed1-40e57f47fd7a', '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-b51d22b5-118a-469f-b740-f88412e2bd95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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?fields=uuid,extra {} GOT:{'targets': [{'uuid': 'a4477ef6-b9c8-4217-9fd4-f369f10575b2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a4477ef6-b9c8-4217-9fd4-f369f10575b2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a4477ef6-b9c8-4217-9fd4-f369f10575b2', 'rel': 'bookmark'}]}, {'uuid': 'fdb4b083-15d7-4e53-8724-c2a9b04d15ca', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/fdb4b083-15d7-4e53-8724-c2a9b04d15ca', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fdb4b083-15d7-4e53-8724-c2a9b04d15ca', 'rel': 'bookmark'}]}, {'uuid': '514b1f3a-3a95-449e-b081-dfdec2526103', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/514b1f3a-3a95-449e-b081-dfdec2526103', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/514b1f3a-3a95-449e-b081-dfdec2526103', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=514b1f3a-3a95-449e-b081-dfdec2526103'} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': 'eb7711e8-1184-4af4-a229-f456c458ffcd', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/eb7711e8-1184-4af4-a229-f456c458ffcd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/eb7711e8-1184-4af4-a229-f456c458ffcd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4e36d514-2024-483a-956f-873111999e69', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4e36d514-2024-483a-956f-873111999e69', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4e36d514-2024-483a-956f-873111999e69', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '9e86297f-21aa-47a5-90f1-0fe0c4d4684f', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9e86297f-21aa-47a5-90f1-0fe0c4d4684f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9e86297f-21aa-47a5-90f1-0fe0c4d4684f', '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=9e86297f-21aa-47a5-90f1-0fe0c4d4684f'} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4257fe0-72c0-4c13-9ca3-4028b83ef612 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-239a4f0c-c08b-4d8c-9718-f69ec10535c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:57.142214+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 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ac8845e-1825-43d9-b914-ed2622ec1a59 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets?node=test-node {} GOT:{'targets': [{'uuid': '4a4a078d-4ac5-4500-9e18-91f647c543cc', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4a4a078d-4ac5-4500-9e18-91f647c543cc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4a4a078d-4ac5-4500-9e18-91f647c543cc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0c12dc23-7840-47fd-9875-5f0156975af2', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0c12dc23-7840-47fd-9875-5f0156975af2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0c12dc23-7840-47fd-9875-5f0156975af2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ff703e88-7afc-4ad4-8786-8b48a6d1c49b', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ff703e88-7afc-4ad4-8786-8b48a6d1c49b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ff703e88-7afc-4ad4-8786-8b48a6d1c49b', '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-7fc5407f-d79b-486b-a572-987be3465d40 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:57.366890+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': '/extra/non-existent', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.053182s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.059196s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.070202s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.133973s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.062958s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.046402s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.036787s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-705cb5db-088e-475f-9bc3-34f68a85ac22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.504852+00:00", "updated_at": "2024-09-19T19:57:56.565084+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': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63d6980a-7bdf-4525-abe8-f403fe5427c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54c67031-623c-451a-9480-bced17b5d211 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-777d23c3-0e45-42b6-9447-8b62e8dd9d67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.763298+00:00", "updated_at": "2024-09-19T19:57:56.798117+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': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5fb141b4-ea8f-4f6b-8085-ada3434540ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '9009f7d1-1767-46cd-a74d-f4c1383720f1', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '788b314f-1a2e-4ca8-a100-7ad85bb7d109', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2112a63f-b196-4a68-a234-e387628b09d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:56.942476+00:00", "updated_at": "2024-09-19T19:57:56.973305+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": "788b314f-1a2e-4ca8-a100-7ad85bb7d109"} 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-31afb0a1-f1f5-4fbd-89e3-d72535cb0646 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1256c226-145a-4adf-a132-f6ef2a77939b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:57.088295+00:00", "updated_at": "2024-09-19T19:57:57.131057+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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2c84b7d6-81ce-4243-b31b-cd0121ace461 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/37ba7a38-cd5f-4544-8637-5787756cc4c4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-565f7733-fe8b-4f85-8cc6-2cabb451a204 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 37ba7a38-cd5f-4544-8637-5787756cc4c4 could not be found.\", \"debuginfo\": null}"} 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'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.247784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.038428s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.163705s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.041620s] ... ok GOT:{'node': {'uuid': '39d169d4-43c0-415e-a4e8-ed113c2da2e5', '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/39d169d4-43c0-415e-a4e8-ed113c2da2e5', 'rel': 'self'}, {'href': 'http://localhost/nodes/39d169d4-43c0-415e-a4e8-ed113c2da2e5', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7b8f00fc-4e9d-471f-936d-0b0477f41c0c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-35d39a87-513f-48d9-83bc-9b178444b8dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6dfcfdf8-000a-4d1d-9447-c6d882ea2c07 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9afd835d-6af7-4670-89c8-edd327846d9d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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=e38dec89-8743-4da9-ab18-a95212503792 {} GOT:{'node': {'uuid': 'e38dec89-8743-4da9-ab18-a95212503792', '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/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'self'}, {'href': 'http://localhost/nodes/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e38dec89-8743-4da9-ab18-a95212503792 {} GOT:{'node': {'uuid': 'e38dec89-8743-4da9-ab18-a95212503792', '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/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'self'}, {'href': 'http://localhost/nodes/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e38dec89-8743-4da9-ab18-a95212503792 {} GOT:{'node': {'uuid': 'e38dec89-8743-4da9-ab18-a95212503792', '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/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'self'}, {'href': 'http://localhost/nodes/e38dec89-8743-4da9-ab18-a95212503792', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=1acd2730-dd5d-4725-9cbb-fbeccf9dcd85 {} GOT:{'node': {'uuid': '1acd2730-dd5d-4725-9cbb-fbeccf9dcd85', '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/1acd2730-dd5d-4725-9cbb-fbeccf9dcd85', 'rel': 'self'}, {'href': 'http://localhost/nodes/1acd2730-dd5d-4725-9cbb-fbeccf9dcd85', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=8e929ad9-814b-4f8a-81d4-a1ae6393a1c0 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-357ec811-7bcf-4b9b-9463-b6a4bee46160 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} 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/ {} {1} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.224501s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.126711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.086108s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.066584s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.086962s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.062563s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e4fc050b-c7d2-4a3e-ab1a-406d714e1cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:57.267606+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9a4398e2-1be8-4b75-9dce-c9b6eae98cba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-009ef53c-c02e-49c3-9b4c-609930942466 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:57.402767+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': '/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-33fceae1-5c18-4324-8167-c0acb5c405fc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:57.435331+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': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e826ab3c-bfae-482d-b85e-edfe63c2be5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-f5766496-dfbd-46cf-a618-3de64e5df5c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:57:57.591508+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/032b1499-22f6-4230-8676-9e0c1b7fb145 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7dc87e83-4708-4f15-92b8-7d2936c01071 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 032b1499-22f6-4230-8676-9e0c1b7fb145 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-2eb8ccd8-1c23-4fe5-92e3-27fbc0d367ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-fed38f04-bb09-41aa-803f-0833385ed3bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e17545bd-84cc-4143-9648-86af9dba54a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7f405fb3-40bf-41c7-a753-d47c820fe716 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 POST: /v1/heartbeat/4370fc45-5599-4359-af8b-341f0b59b7a8 {'callback_url': 'url'} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.038544s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-34e158fc-8d43-4ac5-bb97-e12461380cbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} POST: /v1/volume/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-4a9c7f20-0851-4edd-bee8-aeb4d4356b3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': {'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-c50e1164-b079-4d93-b8d4-165099bb497d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:57.682446+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": 123}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:57.682446+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', '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-1c636e34-7332-429f-bc67-7f241e7c7bc0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e0fff57-7aa8-45b2-9040-901fb787d365 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "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"}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.106638s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.090371s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.057660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.151746s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.158579s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e0fff57-7aa8-45b2-9040-901fb787d365 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "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.json GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2fc43796-094e-4b38-bafd-0396b8211339 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "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-2fc43796-094e-4b38-bafd-0396b8211339 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.098299s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.120267s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.138612s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f920800-8326-4043-9b95-e813e374a8c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:58.006317+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-6f920800-8326-4043-9b95-e813e374a8c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:58.006317+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.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.089771s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.087091s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.107639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.060444s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.090403s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.101963s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.428934s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.045670s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c9ca7e81-3f55-4e9b-9c6c-237c0473a78d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:57.588818+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:57.588818+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': '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-352e7166-f4ec-413c-97e8-07178d9ba45c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 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-8cae919c-be23-4990-9f2c-16eaefa82f52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-33f0a4ce-b093-4a2e-b56d-28350b64b697 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:57.988835+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', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-09250c20-c942-4a66-86e2-bc4a089b4d90 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.107651+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-31ae55fb-0870-4f0f-ab59-b394606fdbbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-509dda9c-9c55-4bef-b1a6-b7d3ed57ce79 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.313971+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_portgroup_uuid_not_found [0.081935s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.064926s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.069711s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.033012s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.054250s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.081563s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.057997s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19431235-b2b0-40a9-9cc8-20ba66efd779 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:58.109995+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-19431235-b2b0-40a9-9cc8-20ba66efd779 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:57:58.109995+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb7ef8d4-2905-4892-837d-ac3fb55932f9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "2ee53a9a-a294-4a02-9f90-0bba242aa7e9", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.058751s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.351427s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.062622s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.084701s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.134779s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.040432s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.076318s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.036673s] ... ok 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': []} GET: /v1/volume/connectors/?limit=3 {} GOT:{'connectors': [{'uuid': 'ccc8321d-9297-461d-b78b-66d9e5cbf6ad', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ccc8321d-9297-461d-b78b-66d9e5cbf6ad', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ccc8321d-9297-461d-b78b-66d9e5cbf6ad', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'affa5c2f-241b-46e7-8347-f58d84a88083', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/affa5c2f-241b-46e7-8347-f58d84a88083', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/affa5c2f-241b-46e7-8347-f58d84a88083', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fe22072e-1c03-4720-abd3-3684c3ecfaf2', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/fe22072e-1c03-4720-abd3-3684c3ecfaf2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fe22072e-1c03-4720-abd3-3684c3ecfaf2', '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=fe22072e-1c03-4720-abd3-3684c3ecfaf2'} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': '9fe37dd8-9974-458c-8097-e7ee58f35941', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/9fe37dd8-9974-458c-8097-e7ee58f35941', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9fe37dd8-9974-458c-8097-e7ee58f35941', 'rel': 'bookmark'}]}, {'uuid': 'd22963b9-14d1-4bf6-8066-7449991183f3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/d22963b9-14d1-4bf6-8066-7449991183f3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d22963b9-14d1-4bf6-8066-7449991183f3', 'rel': 'bookmark'}]}, {'uuid': '4ec18e68-725b-41a9-a632-d26dde563aac', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/4ec18e68-725b-41a9-a632-d26dde563aac', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4ec18e68-725b-41a9-a632-d26dde563aac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=4ec18e68-725b-41a9-a632-d26dde563aac'} GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:58.088589+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/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6712cce-77d5-4b7d-ba45-e1979b882a72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors?node=test-node {} GOT:{'connectors': [{'uuid': '73090fad-e4df-4f9c-8ca4-6f151524bcdc', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/73090fad-e4df-4f9c-8ca4-6f151524bcdc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/73090fad-e4df-4f9c-8ca4-6f151524bcdc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b2cb01f2-240b-4149-b54f-d6d9b9571287', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b2cb01f2-240b-4149-b54f-d6d9b9571287', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b2cb01f2-240b-4149-b54f-d6d9b9571287', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '22fce5c3-1d0b-4297-9263-cd4d26466ab9', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/22fce5c3-1d0b-4297-9263-cd4d26466ab9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/22fce5c3-1d0b-4297-9263-cd4d26466ab9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/ee514a5d-8b88-4ffd-9d5f-6d3e91a442cc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ee514a5d-8b88-4ffd-9d5f-6d3e91a442cc', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/3a5b333c-e54c-425b-9d10-a105241d509b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3a5b333c-e54c-425b-9d10-a105241d509b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=3a5b333c-e54c-425b-9d10-a105241d509b'} 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-4f3dbd87-b200-4214-bdf3-5c9d4f978674 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d {} GOT:{'uuid': 'ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'created_at': '2024-09-19T19:57:58.641735+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d {} GOT:{'uuid': 'ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'created_at': '2024-09-19T19:57:58.641735+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.102645s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.040350s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.062235s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.122187s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.091443s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.046495s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.025538s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.050622s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.072777s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.079128s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.025873s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.013468s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.017024s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.019347s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.082386s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.014297s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.086076s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.012498s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.014917s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.089506s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.012722s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.015764s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.018340s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.021527s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.014853s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.130485s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.018497s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9a07c0ae-a0ae-488f-9e79-b76e07ab16f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-d11aa224-9a04-4779-afb8-6f45b5852eb3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.461914+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c4c575b7-af0d-4595-b41a-620899425d78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75424f1b-516f-47eb-bd60-d65522f5b9a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-95914d39-522a-4779-afba-04d60124a29d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.676087+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_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-3c2080de-4bc1-48c4-a305-88118d35d09e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-d349eeeb-d32a-40e7-8586-58cf0e14550f X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-4438a7c5-8c87-4328-aa87-c6a45416b5eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.908593+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"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.098855s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.016084s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.012298s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.012096s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.143600s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.011683s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.019177s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.105682s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.049097s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.013881s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.139947s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.012893s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.013123s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.012986s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.099611s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.016991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.079291s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.026348s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb7ef8d4-2905-4892-837d-ac3fb55932f9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "2ee53a9a-a294-4a02-9f90-0bba242aa7e9", "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 GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5316b402-45c0-4d1e-947f-fa2b58bb5d48 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "0e6e57e3-146f-4826-9607-e89683f2341c", "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-5316b402-45c0-4d1e-947f-fa2b58bb5d48 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "0e6e57e3-146f-4826-9607-e89683f2341c", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0fbbf7bb-79ed-4242-bb94-f4250090c908 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0fbbf7bb-79ed-4242-bb94-f4250090c908 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b6cd1cf-8871-4634-8294-19d3057050aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b6cd1cf-8871-4634-8294-19d3057050aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd6cc19f-ab02-49c7-8224-6e1eac133e0d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd6cc19f-ab02-49c7-8224-6e1eac133e0d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c551ab5-573c-4159-801a-0633c3a2d41e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0c551ab5-573c-4159-801a-0633c3a2d41e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.140128s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.041003s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.084930s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.029931s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.077183s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.113951s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.015192s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.013955s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.012765s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.016102s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.092074s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.062138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.019777s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.027198s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.024262s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.014300s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.081216s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.013095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.013930s] ... ok GET: /volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d {} GOT:{'uuid': 'ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'created_at': '2024-09-19T19:57:58.641735+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ac3b093f-ba76-4d35-85b8-3644a82ca08d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '47db55c2-d83e-459d-b316-9fb69c504d09', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/47db55c2-d83e-459d-b316-9fb69c504d09', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/47db55c2-d83e-459d-b316-9fb69c504d09', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6bcabcef-d5d1-480b-931c-91bae4514b4b', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6bcabcef-d5d1-480b-931c-91bae4514b4b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6bcabcef-d5d1-480b-931c-91bae4514b4b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6b6273b4-d058-4ef5-8488-23a08b4a1be5', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6b6273b4-d058-4ef5-8488-23a08b4a1be5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6b6273b4-d058-4ef5-8488-23a08b4a1be5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f4b2b061-414d-41e8-aa10-11d292bceb6f', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f4b2b061-414d-41e8-aa10-11d292bceb6f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f4b2b061-414d-41e8-aa10-11d292bceb6f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '62cba361-fe77-495e-a30a-b61bdbefb73e', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/62cba361-fe77-495e-a30a-b61bdbefb73e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/62cba361-fe77-495e-a30a-b61bdbefb73e', '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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03a37b8b-13c7-494a-b742-aaf3444d795d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.883051+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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27054307-b10e-4292-ae84-1847e6044db6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.967017+00:00", "updated_at": "2024-09-19T19:57:58.970618+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-9b021eec-4ea4-4b1d-b427-b3cb26523bbf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.967017+00:00", "updated_at": "2024-09-19T19:57:58.970618+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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02c5450e-f4b2-4b7e-a3eb-f13ddb05442e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31f9d256-adee-467c-a3c0-4f67d39832a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:59.236881+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': '/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': {}, '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-c9052c3c-d383-4748-b0bb-3cbd1e595653 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.100895s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.056662s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.015254s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.021367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.014500s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.088665s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.073816s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.171656s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.034798s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.020404s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.015780s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.012374s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.073193s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.091593s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.022077s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.038609s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.027190s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.138033s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.095259s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.012881s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.088439s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.013355s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.016099s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.026537s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.090044s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.036288s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.088131s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.043067s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.144569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.066061s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.083684s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.046794s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.081324s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.058560s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.092277s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.098906s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.126334s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.104522s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d5ba068-6f8d-42ae-aa64-4249b588286c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?node_uuid=ce3aae52-a7ad-4998-83fb-690e6c299b77 {} GOT:{'node': {'uuid': 'ce3aae52-a7ad-4998-83fb-690e6c299b77', '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/ce3aae52-a7ad-4998-83fb-690e6c299b77', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce3aae52-a7ad-4998-83fb-690e6c299b77', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a27992dd-01f4-4510-9ce4-e6ef6c61bab4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/ {} 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.80'}, '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'}]} 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.80'}} GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-63c42257-3aec-4fa7-9012-e6bfcca65d1a X-Openstack-Ironic-Api-Maximum-Version: 1.80 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}"} 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\": \"\"}"} GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{'connectors': [{'uuid': '903d2ec2-92d1-474b-8b72-d5661f03268f', 'created_at': '2024-09-19T19:57:59.913044+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/903d2ec2-92d1-474b-8b72-d5661f03268f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/903d2ec2-92d1-474b-8b72-d5661f03268f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e5a87872-e290-4699-8bd6-c7a4c2ac8470', 'created_at': '2024-09-19T19:57:59.913950+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e5a87872-e290-4699-8bd6-c7a4c2ac8470', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e5a87872-e290-4699-8bd6-c7a4c2ac8470', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5386e04e-34a6-4af1-8e1c-264ebe107f29', 'created_at': '2024-09-19T19:57:59.914825+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/5386e04e-34a6-4af1-8e1c-264ebe107f29', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5386e04e-34a6-4af1-8e1c-264ebe107f29', '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=5386e04e-34a6-4af1-8e1c-264ebe107f29'} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'b2640e34-0995-481d-9f87-17430d094731', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b2640e34-0995-481d-9f87-17430d094731', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b2640e34-0995-481d-9f87-17430d094731', 'rel': 'bookmark'}]}, {'uuid': '12d1f47a-61dd-4559-8a35-3ded3ee8e285', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/12d1f47a-61dd-4559-8a35-3ded3ee8e285', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/12d1f47a-61dd-4559-8a35-3ded3ee8e285', 'rel': 'bookmark'}]}, {'uuid': '6f10dae5-4965-4a22-a6a0-5c74c492ccdb', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/6f10dae5-4965-4a22-a6a0-5c74c492ccdb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6f10dae5-4965-4a22-a6a0-5c74c492ccdb', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.044707s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.032511s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.043289s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.031255s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.117112s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.034568s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.085058s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.041365s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.035013s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.035051s] ... ok 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-19b75eb4-790d-42e6-b04a-9138112f2237 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-19b75eb4-790d-42e6-b04a-9138112f2237 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f18d79d7-c0ce-4ff7-ba9f-edc86a7292f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f18d79d7-c0ce-4ff7-ba9f-edc86a7292f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ea10230-acc4-427a-8fdf-155766e9c18c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7ea10230-acc4-427a-8fdf-155766e9c18c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4b2eddc3-aa36-4ed9-8f0c-66eb778e6885 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4b2eddc3-aa36-4ed9-8f0c-66eb778e6885 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7dbad896-d5bc-4569-ac82-d98371d6ee42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7dbad896-d5bc-4569-ac82-d98371d6ee42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-51c1f1e4-e731-4753-a492-3bd4e5d86f54 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-51c1f1e4-e731-4753-a492-3bd4e5d86f54 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-abef581d-8b9d-4095-843b-e29a77c24edb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-abef581d-8b9d-4095-843b-e29a77c24edb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-13492506-383d-48de-91ca-befa40f0b905 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-13492506-383d-48de-91ca-befa40f0b905 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}]}} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.096732s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.068387s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.076957s] ... ok 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', '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': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-186baa3c-e263-4f0a-bfd5-33e63001aaad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'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-f07ae15b-eaab-42f1-b99c-8b2ef32c2a29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:59.639933+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:57:59.639933+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'} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': '3d64cd09-0bc2-46b9-b58f-c8c75e476c49', 'created_at': '2024-09-19T19:57:59.723786+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/3d64cd09-0bc2-46b9-b58f-c8c75e476c49', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3d64cd09-0bc2-46b9-b58f-c8c75e476c49', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '40e382b3-b2a5-4f98-a943-aaf513eeb5ca', 'created_at': '2024-09-19T19:57:59.725083+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/40e382b3-b2a5-4f98-a943-aaf513eeb5ca', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/40e382b3-b2a5-4f98-a943-aaf513eeb5ca', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '24308013-2092-41ea-9c1b-95cefe4482ee', 'created_at': '2024-09-19T19:57:59.725937+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/24308013-2092-41ea-9c1b-95cefe4482ee', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/24308013-2092-41ea-9c1b-95cefe4482ee', '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=24308013-2092-41ea-9c1b-95cefe4482ee'} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': 'd5567682-6011-4a96-807f-d94906de0731', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/d5567682-6011-4a96-807f-d94906de0731', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d5567682-6011-4a96-807f-d94906de0731', 'rel': 'bookmark'}]}, {'uuid': '765b225e-325a-4013-97c4-4ea1c94a04f6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/765b225e-325a-4013-97c4-4ea1c94a04f6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/765b225e-325a-4013-97c4-4ea1c94a04f6', 'rel': 'bookmark'}]}, {'uuid': 'b45bdf25-69b5-45cc-b160-c300cd793924', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/b45bdf25-69b5-45cc-b160-c300cd793924', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b45bdf25-69b5-45cc-b160-c300cd793924', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/a35dd159-9e44-44f0-a359-b12bdf24bc4d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a35dd159-9e44-44f0-a359-b12bdf24bc4d', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/ba68333a-5b21-4dfa-a311-663a654f629f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ba68333a-5b21-4dfa-a311-663a654f629f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=ba68333a-5b21-4dfa-a311-663a654f629f'} 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-de8064a5-4914-4028-b51a-244e9b3b1476 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:58:00.103256+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 {} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.135767s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.114314s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.030650s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1ee2e351-317c-49d8-ba85-0c077c57acf7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:57:58.989972+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-24218cbe-0047-4448-a1a5-276ee8b96a81 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-77b93a00-4eb8-4f29-a9c2-86bc1d338bc8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?fields=address,uuid {} GOT:{'portgroups': [{'uuid': '2cc59d56-2caf-460e-bc07-3c9a9e08fdc9', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/2cc59d56-2caf-460e-bc07-3c9a9e08fdc9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2cc59d56-2caf-460e-bc07-3c9a9e08fdc9', 'rel': 'bookmark'}]}, {'uuid': '5bc12ed6-d2d0-4379-8202-f79c9d472e46', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/5bc12ed6-d2d0-4379-8202-f79c9d472e46', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5bc12ed6-d2d0-4379-8202-f79c9d472e46', 'rel': 'bookmark'}]}, {'uuid': 'e41493c4-075d-4a8f-89e7-65cad0aa291f', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/e41493c4-075d-4a8f-89e7-65cad0aa291f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e41493c4-075d-4a8f-89e7-65cad0aa291f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=e41493c4-075d-4a8f-89e7-65cad0aa291f'} GET: /v1/portgroups/detail {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:57:59.466434+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=False {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8da32850-994b-4675-a6cc-e9de86c7ac81 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/portgroups?node=test-node {} GOT:{'portgroups': [{'uuid': '52a70788-b7df-4ae5-8fd9-2255e4bf5fb5', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/52a70788-b7df-4ae5-8fd9-2255e4bf5fb5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/52a70788-b7df-4ae5-8fd9-2255e4bf5fb5', 'rel': 'bookmark'}]}, {'uuid': '605dd1be-d51c-4937-ba02-e493cbb46685', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/605dd1be-d51c-4937-ba02-e493cbb46685', 'rel': 'self'}, {'href': 'http://localhost/portgroups/605dd1be-d51c-4937-ba02-e493cbb46685', 'rel': 'bookmark'}]}, {'uuid': '36b22017-9614-4edd-866a-3b6367353db8', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/36b22017-9614-4edd-866a-3b6367353db8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/36b22017-9614-4edd-866a-3b6367353db8', '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/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cdf16e98-27ba-4955-b1bc-a069230631c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8785f6a6-4f61-4b0c-87ea-e46712bd73ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.110618s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.156071s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.030191s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.148634s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.085397s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.111770s] ... ok GOT:{'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/connectors {} 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=uuid {} GOT:{'connectors': [{'uuid': '3e227e26-2804-4a1e-b65a-bf9d77aa42a9', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3e227e26-2804-4a1e-b65a-bf9d77aa42a9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3e227e26-2804-4a1e-b65a-bf9d77aa42a9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4270f175-6f13-440f-ba10-0266a3be387b', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4270f175-6f13-440f-ba10-0266a3be387b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4270f175-6f13-440f-ba10-0266a3be387b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4fb6fb87-1a93-4d9b-954b-cf55b805a75c', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4fb6fb87-1a93-4d9b-954b-cf55b805a75c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4fb6fb87-1a93-4d9b-954b-cf55b805a75c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a79cb720-16eb-470e-8d76-ef87831e9543 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': {'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-7d704bdf-2eba-4a8f-9036-51b96b166e02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.165068+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:58:00.165068+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9be5093b-dc81-4eb5-b6df-b3f27373e417 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7076d14f-db32-4b07-8f8a-6b3b4f47c5eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-00f0d643-a0f7-40ef-838d-fd72553a66a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/?limit=3 {} GOT:{'targets': [{'uuid': '1de72512-034b-4804-bf67-348becd73dfa', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1de72512-034b-4804-bf67-348becd73dfa', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1de72512-034b-4804-bf67-348becd73dfa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd39d7761-2ad6-4e40-9c4e-e933eb57a587', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/d39d7761-2ad6-4e40-9c4e-e933eb57a587', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d39d7761-2ad6-4e40-9c4e-e933eb57a587', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '59cbeb98-6195-4108-9a34-69a86e32af93', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/59cbeb98-6195-4108-9a34-69a86e32af93', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/59cbeb98-6195-4108-9a34-69a86e32af93', '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=59cbeb98-6195-4108-9a34-69a86e32af93'} 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 {} 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 {} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.032111s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.073623s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_traits_get_admin [0.165670s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.112164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.092001s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.098376s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_member [0.067994s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.039349s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.068892s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_087_nodes_traits_put_observer [0.055654s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.123922s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.033010s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.060024s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.067253s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_member [0.089306s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.050082s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.096533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.072504s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.082406s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.077505s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.080962s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.092312s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.081616s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.093280s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-172e9bf9-752d-45ed-9eb1-e9e6b32cfe44 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-172e9bf9-752d-45ed-9eb1-e9e6b32cfe44 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40f63489-d11c-42bd-b4c2-d8b6d8325e8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-40f63489-d11c-42bd-b4c2-d8b6d8325e8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0f875095-429e-4a11-b474-3eaaeeccf1b5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0f875095-429e-4a11-b474-3eaaeeccf1b5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8be1851-fb4a-4ed1-8bb1-f6a73cd774c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a8be1851-fb4a-4ed1-8bb1-f6a73cd774c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec7afd1b-ec9b-47d1-b217-bb3ba5097425 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ec7afd1b-ec9b-47d1-b217-bb3ba5097425 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c5658b1-b4fd-4b91-94aa-d8d7b3362684 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2c5658b1-b4fd-4b91-94aa-d8d7b3362684 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b6352ce-9337-4987-bbb3-260bfddac629 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b6352ce-9337-4987-bbb3-260bfddac629 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f4b5f0f-a483-4f86-b598-f7bd334cc711 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f4b5f0f-a483-4f86-b598-f7bd334cc711 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cf22362-efdd-46b1-be3a-97cd946cce88 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.075535s] ... ok GOT:{'targets': [{'uuid': '362de891-f1b2-4db4-993c-eaa798b5e1f6', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/362de891-f1b2-4db4-993c-eaa798b5e1f6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/362de891-f1b2-4db4-993c-eaa798b5e1f6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4d2d9b2f-e63c-4674-9a0f-91fc053e7226', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4d2d9b2f-e63c-4674-9a0f-91fc053e7226', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4d2d9b2f-e63c-4674-9a0f-91fc053e7226', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '850270ed-860f-4069-b8df-89008a0aca56', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/850270ed-860f-4069-b8df-89008a0aca56', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/850270ed-860f-4069-b8df-89008a0aca56', '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-69f609f2-2a5f-4854-92a0-74e6d1d198ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46ba40bb-c0bb-452d-9447-bfe4d472419e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb79b4f7-dae7-4aa5-89fa-9e0e3f480b7f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.667445+00:00", "updated_at": "2024-09-19T19:58:00.670644+00:00", "boot_index": 0, "extra": {"foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c29306f5-5255-4677-86e9-335eeae06226 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.667445+00:00", "updated_at": "2024-09-19T19:58:00.670644+00:00", "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-089a47b4-a6ba-47b7-b931-ed1b16ecaba9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.712561+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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da4f18c9-6b60-4df9-a44c-cc2bf16e5285 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.776640+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/c3bb96b5-597f-4ff1-ab2e-86058c922752 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-27ab22f3-ba08-4b5d-82ec-a4c0c2e89f9b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target c3bb96b5-597f-4ff1-ab2e-86058c922752 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/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d Openstack-Request-Id: req-b813ece5-4a97-48e9-a2c9-1722ae75a98f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9c5f09d0-4582-4b24-96b9-f9cebccd2a8d", "created_at": "2024-09-19T19:58:00.941781+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/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d", "rel": "self"}, {"href": "http://localhost/volume/targets/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d {} GOT:{'uuid': '9c5f09d0-4582-4b24-96b9-f9cebccd2a8d', 'created_at': '2024-09-19T19:58:00.941781+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/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9c5f09d0-4582-4b24-96b9-f9cebccd2a8d', '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'} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.045813s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.039229s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.112490s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_vifs_get_admin [0.136031s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.070376s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.034902s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_post_admin [0.074355s] ... ok GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:58:00.260197+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/8bb54639-03bc-49d2-a271-365d6237ff6a {} GOT:{'uuid': '8bb54639-03bc-49d2-a271-365d6237ff6a', 'created_at': '2024-09-19T19:58:00.373875+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/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a {} GOT:{'uuid': '8bb54639-03bc-49d2-a271-365d6237ff6a', 'created_at': '2024-09-19T19:58:00.373875+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/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'bookmark'}]} GET: /portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a {} GOT:{'uuid': '8bb54639-03bc-49d2-a271-365d6237ff6a', 'created_at': '2024-09-19T19:58:00.373875+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/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bb54639-03bc-49d2-a271-365d6237ff6a/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa4a6f76-56aa-43ce-bbda-4f1caf29cf4b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a8c2c34b-aa5d-46bd-b6f8-1c7fd1497786 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5c191748-b289-4fe8-b2b1-b6efa14549dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e3cf875f-1181-4870-adb2-3e90c89cf89c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-d3696842-0b3d-4d07-8999-ea3c2e8a0bc7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:00.873556+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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-41e8482a-4d22-44cc-868e-ec50422d38ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:00.957533+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': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.134563s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.102817s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating GOT:{'targets': [{'uuid': 'dc32cfbf-4652-4002-ae5d-58d8628b8087', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/dc32cfbf-4652-4002-ae5d-58d8628b8087', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/dc32cfbf-4652-4002-ae5d-58d8628b8087', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7c8d2daa-f2b2-4a85-b60c-8a75446ad42b', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7c8d2daa-f2b2-4a85-b60c-8a75446ad42b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7c8d2daa-f2b2-4a85-b60c-8a75446ad42b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7d2b0c5c-d350-4d62-be9c-0982f538c5d7', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7d2b0c5c-d350-4d62-be9c-0982f538c5d7', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7d2b0c5c-d350-4d62-be9c-0982f538c5d7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '54aa62ff-de39-4021-bb6c-a93f724351fe', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/54aa62ff-de39-4021-bb6c-a93f724351fe', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/54aa62ff-de39-4021-bb6c-a93f724351fe', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8f303a0-455b-405c-8934-dbc30892d4d8', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c8f303a0-455b-405c-8934-dbc30892d4d8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c8f303a0-455b-405c-8934-dbc30892d4d8', '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-76afaa77-683f-4cb6-ad5a-e0630b36ce09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-750e5204-640d-45f1-9c17-5acbf62cf8c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cbd3293c-91c6-4777-a5d3-49f5d7c994d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-780c590d-aac5-433d-8aa4-cac7157aa5aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.435693+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_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85e48c84-7bb1-4e33-9f57-fb8db1520b44 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33ec6c14-32a1-4535-a1db-90e6f881c835 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:00.665487+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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-030f110e-fecd-4bdb-a234-f609b8542412 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-16e37db8-13a3-4421-b81a-c6861cba0f49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28a4d197-2f3d-4e7e-809b-258c309d052d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c907628-3796-4c60-a96d-2ddc873b6f98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.084327s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.061183s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.146234s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.081206s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.106163s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.024317s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.111626s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.054888s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.050030s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_detail_get_admin [0.140887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.069592s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.179202s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_observer [0.170791s] ... ok 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'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54dea91a-67bb-4dfb-a850-d3d449963df6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-052cbc31-b9b1-4ae2-b039-5cd9ba920dae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0435b13e-fd8f-4258-8ab9-2bbdc0a1a867 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0435b13e-fd8f-4258-8ab9-2bbdc0a1a867 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b85d86e-86e9-443d-8704-e5acf756d35e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b85d86e-86e9-443d-8704-e5acf756d35e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-41e56d16-6bc9-477c-b617-f2ae38f92d11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-41e56d16-6bc9-477c-b617-f2ae38f92d11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea1b600e-55bd-4c57-957f-9b5a125ab27f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:01.583759+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 {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.138982s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cf22362-efdd-46b1-be3a-97cd946cce88 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-977d7c52-ae62-4211-98a2-2376c8f8116b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-977d7c52-ae62-4211-98a2-2376c8f8116b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-50f90624-4a3f-458f-a3a4-df08cf8eaf72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-50f90624-4a3f-458f-a3a4-df08cf8eaf72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f34d0ff4-61f3-4b4e-97f2-8b9d6fcd2e7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f34d0ff4-61f3-4b4e-97f2-8b9d6fcd2e7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da05d1ec-de79-4f8d-8948-4ea24ea87b10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.381033+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-da05d1ec-de79-4f8d-8948-4ea24ea87b10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.381033+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-ff0ebd0a-c44e-45b4-8507-86e70251b5ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.526146+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-ff0ebd0a-c44e-45b4-8507-86e70251b5ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.526146+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_121_portgroups_portgroup_ident_get_admin [0.059741s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.081464s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.135223s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.392600s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_member [0.114161s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.036671s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.160116s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.570350s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_observer [0.087342s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b78e4590-7344-4a09-9927-437a77857a64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.059107+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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb0e7f64-6a9b-4407-b520-dcee81ea4c47 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a44e6b81-2ff7-4d27-92e1-93afa14f5745 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.296161+00:00", "updated_at": "2024-09-19T19:58:01.299033+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-a0751af0-9f8a-4e66-8fc2-fdbe2b86c9b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.296161+00:00", "updated_at": "2024-09-19T19:58:01.299033+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-2c10908c-7964-4335-9371-ef6329f766d9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96e78df6-5252-47c7-be59-43acc7bd7932 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca6be6e3-0877-446d-8286-27fee3f3d45a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.508168+00:00", "updated_at": "2024-09-19T19:58:01.523539+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': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8c3c82da-342d-4dfd-952a-dc6ed31f7e8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.882063+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': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.034474s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.029574s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_ports_get_admin [0.057439s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.081823s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_138_ports_get_observer [0.064332s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.174422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.136927s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.086611s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.137382s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f07e9d9-de53-4104-bf72-658ce334faaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.661621+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-8f07e9d9-de53-4104-bf72-658ce334faaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.661621+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-1f42ebc6-712d-4279-9069-25f8ebbb9c37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1f42ebc6-712d-4279-9069-25f8ebbb9c37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-654b6535-9213-438a-8457-06fb246488b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-654b6535-9213-438a-8457-06fb246488b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba616a6c-6547-4715-8a54-26bcdab7e1e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba616a6c-6547-4715-8a54-26bcdab7e1e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f270d2bf-e150-4a75-8e6c-40ce0060d238 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f270d2bf-e150-4a75-8e6c-40ce0060d238 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a35a7f9e-1c64-4a82-96d7-3e51fa729d4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a35a7f9e-1c64-4a82-96d7-3e51fa729d4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2534a825-fa43-405d-ade1-fbc59b13c3d4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_post_admin [0.061979s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_147_ports_port_id_get_observer [0.076442s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_148_ports_port_id_patch_admin [0.082959s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.078268s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.030410s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c4ffbf1-2e0e-460c-b021-b7e8431d71e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:01.151380+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eb5ebdbe-dfc9-49de-922a-04f15cb812a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-722d8f30-9d01-450b-b020-59587b2eddb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"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-4b6b0253-67c5-47d5-b47d-0ced2b5266e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4b6b0253-67c5-47d5-b47d-0ced2b5266e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4f2cb6b8-2992-4a09-8c98-12130ac9f03c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4f2cb6b8-2992-4a09-8c98-12130ac9f03c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fa33fcf-63ce-4bd1-843e-d1f2834b80da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:02.045746+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:02.056546+00:00", "updated_at": "2024-09-19T19:58:02.060788+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "02659d88-90be-4659-9e40-1022dd696e4e", "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": "02659d88-90be-4659-9e40-1022dd696e4e", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:02.081644+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fa33fcf-63ce-4bd1-843e-d1f2834b80da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:02.045746+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:02.056546+00:00", "updated_at": "2024-09-19T19:58:02.060788+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "02659d88-90be-4659-9e40-1022dd696e4e", "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": "02659d88-90be-4659-9e40-1022dd696e4e", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:02.081644+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.179556s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.243371s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_152_ports_port_id_delete_member [0.092609s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.132896s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.088598s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_153_ports_port_id_delete_observer [0.073011s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.108163s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_156_nodes_ports_get_observer [0.062211s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5dc3d00-6f06-4469-b95a-365c95c1b83c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:01.921611+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"}]} 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': '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-d562b055-dd51-4f82-93a1-bb256a334655 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:02.017039+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:58:02.017039+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': {'foo': 123}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-97e91fba-c7ee-4c0b-9568-1f0a0a020c1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:02.134144+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:58:02.134144+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': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d95d6bb-356c-4046-aeb1-36ff2a33cf9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '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-2cf6fe54-8cb4-4871-86db-950c12e492bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1c8f7929-9525-4ba6-beb7-02cae26874d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aae967df-42c5-401d-991d-7c5cc340d114 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.056886s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.031171s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.087127s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea1b600e-55bd-4c57-957f-9b5a125ab27f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:01.583759+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-fa5d5081-49f6-4362-892e-904f0b7c77c2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa5d5081-49f6-4362-892e-904f0b7c77c2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7b3f5b46-27c3-4ed8-ac96-08bf5e32b02d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7b3f5b46-27c3-4ed8-ac96-08bf5e32b02d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2099c16b-fa72-4456-a4b1-d4dcc467954d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2099c16b-fa72-4456-a4b1-d4dcc467954d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-f45116f8-b912-44d6-830f-1c922d9908cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f45116f8-b912-44d6-830f-1c922d9908cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f39c564f-3613-42e8-987e-d1f6d4b4813f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f39c564f-3613-42e8-987e-d1f6d4b4813f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.155901s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.040651s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.110813s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.039493s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.037282s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.266587s] ... ok ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2534a825-fa43-405d-ade1-fbc59b13c3d4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-86dd07f6-bc70-4094-946c-16ab24d17db7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:02.196263+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-86dd07f6-bc70-4094-946c-16ab24d17db7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:02.196263+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-483a4c00-9303-4846-aa6f-32af55e84b18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-483a4c00-9303-4846-aa6f-32af55e84b18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0be4278d-6fc6-4334-a7da-720cdb7e871f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0be4278d-6fc6-4334-a7da-720cdb7e871f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d874f6c0-c3dc-4598-b846-b72e1d2f3a63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d874f6c0-c3dc-4598-b846-b72e1d2f3a63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6a05c1c-eb18-4ff7-ace3-f66b0e7bb207 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6a05c1c-eb18-4ff7-ace3-f66b0e7bb207 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7da1497e-0430-41c5-9995-acf5e83ddad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:02.580928+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_157_nodes_ports_detail_get_admin [0.124432s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.027894s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_045_nodes_states_get_member [0.106306s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.032181s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_158_nodes_ports_detail_get_member [0.152952s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.144425s] ... 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-a3f68a71-dccf-416e-88d6-5e3081ef9218 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:02.253525+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-a3f68a71-dccf-416e-88d6-5e3081ef9218 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:02.253525+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-edc5f075-be5c-4abe-b3cc-726843d25e87 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-edc5f075-be5c-4abe-b3cc-726843d25e87 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a385aaf-dd71-41bd-9666-395d64dd625f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a385aaf-dd71-41bd-9666-395d64dd625f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.105292s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.083736s] ... ok 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-67b27ec9-7c8a-4d84-acc6-5899ff4ef66c X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-5e6a7505-7620-46d3-908a-89c685836752 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-267d18f8-b502-4962-9cc9-49e49788fb29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': '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-dc3a5fdb-18d2-4734-95a9-4d8677e44a67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'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-f8ce33d0-3f1f-439a-ab2c-011856086933 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:02.668910+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-19T19:58:02.668910+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-ea209285-cc11-4e4b-9bf1-435420965b5e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} POST: /v1/heartbeat/31bb1b23-fac8-42b6-982e-578f10b6667e {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6c16235d-6cea-444f-94ac-a608277b3941 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 31bb1b23-fac8-42b6-982e-578f10b6667e could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-b61d8582-c249-4b4b-8d05-8cd05470fd36 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-37077493-ec1f-488b-828a-250b7084d3e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=d4c697be-396e-4087-a102-2b99fe1a9119 {} GOT:{'node': {'uuid': 'd4c697be-396e-4087-a102-2b99fe1a9119', '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/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'self'}, {'href': 'http://localhost/nodes/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d4c697be-396e-4087-a102-2b99fe1a9119 {} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.097936s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.041099s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.053629s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.219319s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.062836s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.031895s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.237621s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.106109s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.048278s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.019048s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_observer [0.138626s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_063_nodes_states_console_get_member [0.066234s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.046018s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.028513s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_observer [0.087982s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.035989s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_044_nodes_states_get_admin [0.184833s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_member [0.120760s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.024934s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.059656s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.069647s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.054328s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.065488s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3ed2f34e-f775-469c-b9ac-ee113b4d5871 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3ed2f34e-f775-469c-b9ac-ee113b4d5871 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0aaff180-182c-43dd-8033-e56570bf2532 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0aaff180-182c-43dd-8033-e56570bf2532 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9800b57b-8a7a-4d3a-9db7-a3eac6174e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9800b57b-8a7a-4d3a-9db7-a3eac6174e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95351c86-726f-452e-ae3e-9e3c61279f39 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95351c86-726f-452e-ae3e-9e3c61279f39 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-561b5627-0685-4565-8911-b0493b934eeb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-561b5627-0685-4565-8911-b0493b934eeb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-abbe16a9-cba6-45f7-9e05-7c97fc2a2ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-abbe16a9-cba6-45f7-9e05-7c97fc2a2ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b9276632-e828-47af-93e3-51a558919eb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b9276632-e828-47af-93e3-51a558919eb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-400fcdd8-b896-475a-8268-9e84ea8f265f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-400fcdd8-b896-475a-8268-9e84ea8f265f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.068362s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.073278s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.029850s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.071186s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_172_volume_connectors_post_admin [0.219964s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.070804s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.132022s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.042451s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.077031s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.042422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.035958s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.022975s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_173_volume_connectors_post_member [0.153684s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.099021s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.039830s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.188936s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.034362s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.041391s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_member [0.060740s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.030092s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.052153s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.030366s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7da1497e-0430-41c5-9995-acf5e83ddad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:02.580928+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-4166bb2a-8bdb-4945-aff6-501bcc4f2f38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4166bb2a-8bdb-4945-aff6-501bcc4f2f38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2627a9c0-239b-45d5-86d6-5a0003f14b83 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2627a9c0-239b-45d5-86d6-5a0003f14b83 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dc76a56f-110e-4e52-a99f-4a063759bead X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dc76a56f-110e-4e52-a99f-4a063759bead X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-842d1f1a-baa6-4db5-9f55-f370bb0167bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-842d1f1a-baa6-4db5-9f55-f370bb0167bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/c5b1a31d-f75e-402e-87c9-b7c5480dc283 Openstack-Request-Id: req-ee5c7671-2b09-4e28-a61c-72f29107be70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "c5b1a31d-f75e-402e-87c9-b7c5480dc283", "created_at": "2024-09-19T19:58:03.513297+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c5b1a31d-f75e-402e-87c9-b7c5480dc283", "rel": "self"}, {"href": "http://localhost/volume/connectors/c5b1a31d-f75e-402e-87c9-b7c5480dc283", "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/c5b1a31d-f75e-402e-87c9-b7c5480dc283 Openstack-Request-Id: req-ee5c7671-2b09-4e28-a61c-72f29107be70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "c5b1a31d-f75e-402e-87c9-b7c5480dc283", "created_at": "2024-09-19T19:58:03.513297+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c5b1a31d-f75e-402e-87c9-b7c5480dc283", "rel": "self"}, {"href": "http://localhost/volume/connectors/c5b1a31d-f75e-402e-87c9-b7c5480dc283", "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-8cd8a17c-dfb7-4821-8eab-46be291c0cbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8cd8a17c-dfb7-4821-8eab-46be291c0cbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_174_volume_connectors_post_observer [0.144584s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.074807s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff906f35-0ab3-4780-ae2e-65afdd502372 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff906f35-0ab3-4780-ae2e-65afdd502372 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-3f9778cf-99aa-4ad2-a9c9-24be6a76b35f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f9778cf-99aa-4ad2-a9c9-24be6a76b35f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4ae2b2e-b3ea-4a60-9b63-e81cb705e292 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4ae2b2e-b3ea-4a60-9b63-e81cb705e292 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-abeaec48-22b2-4bac-8905-882379b75763 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-abeaec48-22b2-4bac-8905-882379b75763 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d742658-dccf-4c78-b5db-8e57a9330b71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d742658-dccf-4c78-b5db-8e57a9330b71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b2f96c8-ebdb-4656-9595-873c02d54fed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b2f96c8-ebdb-4656-9595-873c02d54fed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c8874e1-b1da-468f-ae4b-68aefc2afe2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0c8874e1-b1da-468f-ae4b-68aefc2afe2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e078324a-8f35-468f-9875-f71c65af05d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e078324a-8f35-468f-9875-f71c65af05d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.162000s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.060739s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.038385s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.016632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.013791s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_member [0.073758s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.020410s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.021446s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.125947s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.013655s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.065518s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.019805s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.030331s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.016072s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.021991s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.015277s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.104982s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.015560s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.023454s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.159961s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.043942s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.098981s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.035831s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_189_volume_targets_post_observer [0.095988s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.032099s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.039077s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.092415s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.090493s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.040347s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.036917s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.109461s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.039499s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.096754s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.028079s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_084_nodes_traits_get_observer [0.707626s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.024430s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.050973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.042278s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.034334s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d9bb7e8-22ac-47fd-8d73-0b798460a69e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3d9bb7e8-22ac-47fd-8d73-0b798460a69e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1df07f9b-7c1b-4ab5-8370-b6838d451523 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:03.874009+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-1df07f9b-7c1b-4ab5-8370-b6838d451523 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:03.874009+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a955ef9-1cfa-4a70-a89e-f98a166e8b2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3a955ef9-1cfa-4a70-a89e-f98a166e8b2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2bde0c87-b16f-421c-9dc8-5e9ac1ae197d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2bde0c87-b16f-421c-9dc8-5e9ac1ae197d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65f41af3-97e0-4b29-8148-59304376b38c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-65f41af3-97e0-4b29-8148-59304376b38c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8f08814f-f561-4f0f-a67d-de4f0736b99c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8f08814f-f561-4f0f-a67d-de4f0736b99c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc570f92-ba34-4e85-943e-c3336d02332f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bc570f92-ba34-4e85-943e-c3336d02332f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_member [0.120233s] ... ok 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-1c409ef2-edb2-40bb-be69-5e77cce2439e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1c409ef2-edb2-40bb-be69-5e77cce2439e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-097092cc-d3d1-42bb-a37f-87006b74f0cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-097092cc-d3d1-42bb-a37f-87006b74f0cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7bc0335a-8139-44db-b344-8c6882a06d46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7bc0335a-8139-44db-b344-8c6882a06d46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88806674-0be3-417f-bc8e-a11d2724ed02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88806674-0be3-417f-bc8e-a11d2724ed02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e6fc374d-e920-44b1-a1e1-90c753b3c712 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e6fc374d-e920-44b1-a1e1-90c753b3c712 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-211ab82b-c461-4866-8db7-664ff82fdc07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-211ab82b-c461-4866-8db7-664ff82fdc07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b6dac62-1612-4b4c-92ac-ead10c768758 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1b6dac62-1612-4b4c-92ac-ead10c768758 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-936c7337-6c31-47de-9bd5-7e3697c06e5b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-936c7337-6c31-47de-9bd5-7e3697c06e5b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_put_admin [0.117392s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_090_nodes_traits_delete_observer [0.114756s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.102374s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.117342s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_088_nodes_traits_delete_admin [0.281840s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_member [0.144931s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.067934s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.166837s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.074073s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.078042s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.062366s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.147978s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a296ff84-2c0c-4dbc-a893-c1ac9a604f63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a296ff84-2c0c-4dbc-a893-c1ac9a604f63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b37620fd-5c4a-4be7-9868-912e050bc8b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b37620fd-5c4a-4be7-9868-912e050bc8b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-beb95f0f-72d1-481f-a67d-8877b249ecd7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-beb95f0f-72d1-481f-a67d-8877b249ecd7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-406f10af-67bd-44df-8f6a-ca9676f41902 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-406f10af-67bd-44df-8f6a-ca9676f41902 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12a44635-b341-465d-8f05-edf709cb5959 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12a44635-b341-465d-8f05-edf709cb5959 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-74a37b4d-926e-4cbd-9ba2-95241ef1b5aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74a37b4d-926e-4cbd-9ba2-95241ef1b5aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8cdb3c69-d08f-4df2-b4cf-4226ded4d4dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8cdb3c69-d08f-4df2-b4cf-4226ded4d4dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b3b5720f-b9d1-4f20-a244-7196aea2a1bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3b5720f-b9d1-4f20-a244-7196aea2a1bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a1602efb-0364-429f-acc6-b7ae1ef8d04b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_092_nodes_traits_trait_put_member [0.058731s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.152766s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.083080s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.135070s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.088288s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.141553s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_member [0.079437s] ... ok GOT:{'node': {'uuid': 'd4c697be-396e-4087-a102-2b99fe1a9119', '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/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'self'}, {'href': 'http://localhost/nodes/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d4c697be-396e-4087-a102-2b99fe1a9119 {} GOT:{'node': {'uuid': 'd4c697be-396e-4087-a102-2b99fe1a9119', '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/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'self'}, {'href': 'http://localhost/nodes/d4c697be-396e-4087-a102-2b99fe1a9119', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=c4b5ee0e-716f-4562-ac63-78548bb69a4a {} GOT:{'node': {'uuid': 'c4b5ee0e-716f-4562-ac63-78548bb69a4a', '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/c4b5ee0e-716f-4562-ac63-78548bb69a4a', 'rel': 'self'}, {'href': 'http://localhost/nodes/c4b5ee0e-716f-4562-ac63-78548bb69a4a', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=03f2a02c-9974-4668-ae1f-e059107f5a92 {} GOT:{'node': {'uuid': '03f2a02c-9974-4668-ae1f-e059107f5a92', '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/03f2a02c-9974-4668-ae1f-e059107f5a92', 'rel': 'self'}, {'href': 'http://localhost/nodes/03f2a02c-9974-4668-ae1f-e059107f5a92', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/ {} 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.80'}} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-93005204-f60c-4b60-8df4-c7f6ef212277 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c101d47a-1ba6-46f0-b14e-5262f11f44f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69602928-161a-40fa-9602-5c5f75466801 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e6dcf57-fe11-4573-8f59-478e509b1fbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3de34570-361c-4e5d-9de1-7e9afd9bb364 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.074324s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.082173s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.135798s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.057996s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.033950s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_observer [0.081554s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_112_portgroups_get_admin [0.069126s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.068885s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.122256s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.065417s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_member [0.081071s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.073225s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.469940s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.156904s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.072291s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing 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-a7d72d9b-52f9-4669-a229-cbc4109beb08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7d72d9b-52f9-4669-a229-cbc4109beb08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-741928a5-fa4a-46c7-a648-e731c937a224 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-741928a5-fa4a-46c7-a648-e731c937a224 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46649f1e-e254-4784-824d-5d88dd6232c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46649f1e-e254-4784-824d-5d88dd6232c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2b36bac-c4d2-4e24-bd5f-7b834b860e73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2b36bac-c4d2-4e24-bd5f-7b834b860e73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9501b3c6-b6fa-46f8-8e33-6c366f96c9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9501b3c6-b6fa-46f8-8e33-6c366f96c9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6babe66b-7aab-44ff-bac3-2181a24d7425 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6babe66b-7aab-44ff-bac3-2181a24d7425 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0da5f2e2-6832-4135-88d2-343ce5c87049 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0da5f2e2-6832-4135-88d2-343ce5c87049 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1e35dc0-db6c-4442-8790-9acf6d5dd91f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1e35dc0-db6c-4442-8790-9acf6d5dd91f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_observer [0.091688s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_member [0.056672s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.107634s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.049816s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.178873s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.209317s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.093820s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_137_ports_get_member [0.118569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.069318s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.289700s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.236275s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-236a4fd9-b4d9-4225-8afa-a47d6d2c3d2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:05.103517+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f364a82c-0293-4812-9db0-a8fe852de615 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-04645d96-50dd-45d5-aef4-b1e01b08fbb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6950d510-b758-4c49-9946-55a6e9abf290 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-932a90e1-95ef-4057-ae80-2590835b1d04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-253b7012-f672-42b5-b38b-5fae1c381617 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62a36ebc-4df9-4902-b9a6-afb87a2ecb85 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:05.510502+00:00", "updated_at": "2024-09-19T19:58:05.513623+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a512293d-f065-4373-a7eb-61d6e0c53656 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5c4e06a-d024-449a-8d7a-f443f61fb24e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:05.654815+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7c0a1bbb-abd4-40ab-b373-2212970c72ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7512e131-4bc0-42a3-9623-3d9a175410de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': '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-a2e57d88-2934-4e9a-bdb8-beca2d79f649 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:05.910934+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"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.034022s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.081086s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.066800s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.117405s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1602efb-0364-429f-acc6-b7ae1ef8d04b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-681c7466-e99a-4a22-970a-b6f1ae81ff4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-681c7466-e99a-4a22-970a-b6f1ae81ff4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f12fdd8-22d1-40c6-ae14-e2c39b189f4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f12fdd8-22d1-40c6-ae14-e2c39b189f4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5c9ab64c-db0b-435f-a98a-1c44de99ebe3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5c9ab64c-db0b-435f-a98a-1c44de99ebe3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 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-19bbbed1-d815-4241-9c4a-f6345af92d5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-19bbbed1-d815-4241-9c4a-f6345af92d5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-530705b4-a36c-4fa6-8b5c-ebddf02dc88d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-530705b4-a36c-4fa6-8b5c-ebddf02dc88d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-415f1e24-3934-47be-8101-ff5cf3f464da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-415f1e24-3934-47be-8101-ff5cf3f464da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac40628a-29c8-4586-ac55-e8fdc43db83f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac40628a-29c8-4586-ac55-e8fdc43db83f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-893b03e2-95da-4d5b-9054-e86b8f18d5fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_member [0.170526s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-95a1b301-bc60-4d7b-ade1-27501d68a27f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95a1b301-bc60-4d7b-ade1-27501d68a27f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-65eeaeda-a09d-4547-9c06-79e608150670 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-65eeaeda-a09d-4547-9c06-79e608150670 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c982cb68-3ffd-4bb5-aa79-9cd288739be3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c982cb68-3ffd-4bb5-aa79-9cd288739be3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f481736-ad5b-4a1c-9684-eee08a8160c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f481736-ad5b-4a1c-9684-eee08a8160c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4bd400ac-a528-4acd-84de-1049e59b5f16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4bd400ac-a528-4acd-84de-1049e59b5f16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1fa47791-edb4-41c7-8151-1d2e2df48592 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1fa47791-edb4-41c7-8151-1d2e2df48592 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6aeefccc-ebfc-449b-9b0b-bc43169402d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:05.829440+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-6aeefccc-ebfc-449b-9b0b-bc43169402d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:05.829440+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/bbb392e3-1e3a-435b-8254-b9295b1f686e GET: /v1/allocations/bbb392e3-1e3a-435b-8254-b9295b1f686e {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7f6c717-20d4-46c4-ba85-a5d778f72c1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "bbb392e3-1e3a-435b-8254-b9295b1f686e", "created_at": "2024-09-19T19:58:06.043060+00:00", "updated_at": "2024-09-19T19:58:06.056890+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bbb392e3-1e3a-435b-8254-b9295b1f686e", "rel": "self"}, {"href": "http://localhost/allocations/bbb392e3-1e3a-435b-8254-b9295b1f686e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.228745s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_143_ports_detail_get_member [0.134820s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.133952s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_member [0.250965s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.039802s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_144_ports_detail_get_observer [0.120550s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.251284s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.109518s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_151_ports_port_id_delete_admin [0.158100s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.097823s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.050561s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.024942s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_member [0.175908s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc494198-64c9-41b3-8305-0e01e03b654c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dc494198-64c9-41b3-8305-0e01e03b654c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cb5c897b-05ac-493d-ace7-e857b89e42bd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cb5c897b-05ac-493d-ace7-e857b89e42bd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-01521e27-a9b0-4f5f-918c-0fdf7104d523 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-01521e27-a9b0-4f5f-918c-0fdf7104d523 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff9eb6cd-27ef-44f2-a137-033e3e6272fc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff9eb6cd-27ef-44f2-a137-033e3e6272fc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d4f08598-cc97-4c08-aced-d346030db681 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d4f08598-cc97-4c08-aced-d346030db681 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa118bb9-7d2c-4601-ad78-359335b2e2e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aa118bb9-7d2c-4601-ad78-359335b2e2e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e039dda-961f-4066-8181-42389849a539 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.300371+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-1e039dda-961f-4066-8181-42389849a539 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.300371+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 {} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.031482s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_port_id_get_admin [0.134546s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.066938s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_get_admin [0.111855s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.213721s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_nodes_ports_get_admin [0.268251s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.063406s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_162_portgroups_ports_get_observer [0.069619s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.094723s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.085228s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.087971s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.107600s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_160_portgroups_ports_get_admin [0.179633s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.112237s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.094092s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_volume_get_admin [0.115565s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_observer [0.138287s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_167_volume_get_member [0.091727s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7f6c717-20d4-46c4-ba85-a5d778f72c1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "bbb392e3-1e3a-435b-8254-b9295b1f686e", "created_at": "2024-09-19T19:58:06.043060+00:00", "updated_at": "2024-09-19T19:58:06.056890+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bbb392e3-1e3a-435b-8254-b9295b1f686e", "rel": "self"}, {"href": "http://localhost/allocations/bbb392e3-1e3a-435b-8254-b9295b1f686e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b GET: /v1/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2632018-b5a6-4f3d-a2b9-219393f041b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "04965e62-ca1d-47dd-85ac-0bb49bcb345b", "created_at": "2024-09-19T19:58:06.272494+00:00", "updated_at": "2024-09-19T19:58:06.304153+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b", "rel": "self"}, {"href": "http://localhost/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2632018-b5a6-4f3d-a2b9-219393f041b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "04965e62-ca1d-47dd-85ac-0bb49bcb345b", "created_at": "2024-09-19T19:58:06.272494+00:00", "updated_at": "2024-09-19T19:58:06.304153+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b", "rel": "self"}, {"href": "http://localhost/allocations/04965e62-ca1d-47dd-85ac-0bb49bcb345b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-df206e16-2d37-495f-b790-423da56d794f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-df206e16-2d37-495f-b790-423da56d794f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-470af5e8-a7b1-45c1-8b39-e6a79696cd7a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "rel": "self"}, {"href": "http://localhost/deploy_templates/bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-470af5e8-a7b1-45c1-8b39-e6a79696cd7a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "rel": "self"}, {"href": "http://localhost/deploy_templates/bd9f9023-f9a5-4c71-8a12-fa42dcd1b821", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d PATCH: /v1/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70246e4f-39e6-44d1-b752-a8cbe3c7b0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "edd8acc8-af2d-4ceb-8f97-d160151a403d", "created_at": "2024-09-19T19:58:06.760426+00:00", "updated_at": "2024-09-19T19:58:06.805700+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d", "rel": "self"}, {"href": "http://localhost/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d", "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-70246e4f-39e6-44d1-b752-a8cbe3c7b0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "edd8acc8-af2d-4ceb-8f97-d160151a403d", "created_at": "2024-09-19T19:58:06.760426+00:00", "updated_at": "2024-09-19T19:58:06.805700+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d", "rel": "self"}, {"href": "http://localhost/deploy_templates/edd8acc8-af2d-4ceb-8f97-d160151a403d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/113fce87-29e9-43ce-987a-495f55f016a0 DELETE: /v1/deploy_templates/113fce87-29e9-43ce-987a-495f55f016a0 GOT:Response: 204 No Content Openstack-Request-Id: req-56bf345b-03a1-4a38-b66c-57841f99c75f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-56bf345b-03a1-4a38-b66c-57841f99c75f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 API ACL Testing Path delete /v1/deploy_templates/0bef017e-1b18-4ca5-b208-283125770306 DELETE: /v1/deploy_templates/0bef017e-1b18-4ca5-b208-283125770306 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4eb4784f-ec7f-437f-b382-0b5131ccfec9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4eb4784f-ec7f-437f-b382-0b5131ccfec9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/chassis {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_286_chassis_get_member [0.099139s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_observer [0.169049s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.222570s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b333537-0150-400e-b2e8-a4aeb09cf9cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.442835+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-6b333537-0150-400e-b2e8-a4aeb09cf9cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.442835+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-3f2fa05b-add5-432e-a833-5ce8ef26d743 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.670532+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-3f2fa05b-add5-432e-a833-5ce8ef26d743 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.670532+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-9a74038f-459f-4ef1-ace3-ce08e1aeed53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a74038f-459f-4ef1-ace3-ce08e1aeed53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d3e3b4cc-9206-4924-b97d-8a3fa42ba2c2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d3e3b4cc-9206-4924-b97d-8a3fa42ba2c2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef125fbc-1deb-4854-b9e8-9a0282092971 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ef125fbc-1deb-4854-b9e8-9a0282092971 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b053f1cc-60fe-4c0b-98c9-86c5e1761e9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b053f1cc-60fe-4c0b-98c9-86c5e1761e9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88bdbef1-5760-480e-bd26-2d53efbeb2ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.115372s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.060638s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.142725s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.461381s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_member [0.174374s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_184_volume_targets_get_admin [0.153358s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-ec5e3dc6-2a85-447e-a5ed-0bbb9d9ba2f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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?detail=True {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:58:06.121596+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?detail=False {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets {} GOT:{'targets': []} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{'boot_index': 0, 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/targets/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/8f783155-629f-4d59-a2af-2063d2303837 {} GOT:{'uuid': '8f783155-629f-4d59-a2af-2063d2303837', 'created_at': '2024-09-19T19:58:06.557745+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/8f783155-629f-4d59-a2af-2063d2303837', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8f783155-629f-4d59-a2af-2063d2303837', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets/8f783155-629f-4d59-a2af-2063d2303837 {} GOT:{'uuid': '8f783155-629f-4d59-a2af-2063d2303837', 'created_at': '2024-09-19T19:58:06.557745+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/8f783155-629f-4d59-a2af-2063d2303837', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8f783155-629f-4d59-a2af-2063d2303837', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/targets/8f783155-629f-4d59-a2af-2063d2303837 {} GOT:{'uuid': '8f783155-629f-4d59-a2af-2063d2303837', 'created_at': '2024-09-19T19:58:06.557745+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/8f783155-629f-4d59-a2af-2063d2303837', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8f783155-629f-4d59-a2af-2063d2303837', '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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba843a11-05a6-401d-ad8d-51b83af15244 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c1b7c54-edbf-4ce8-8e9d-f5a3ef319a69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3c23bd8d-1cdd-49c0-9ef4-7fe84bff1422 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-035f893d-0d4e-478a-92a7-88d4f99bf471 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:06.828129+00:00", "updated_at": "2024-09-19T19:58:06.831382+00:00", "boot_index": 0, "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9dfcaa91-a22b-48fc-ac2c-d98a04720552 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}"} 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-4c9e8b28-6565-434d-9fe9-e346c963b812 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.045205s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.040638s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-893b03e2-95da-4d5b-9054-e86b8f18d5fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9e697762-907d-416f-a539-311c1e63b008 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9e697762-907d-416f-a539-311c1e63b008 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0be6f448-8810-4c35-a18d-f8e0f5f31af1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0be6f448-8810-4c35-a18d-f8e0f5f31af1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-be1ee80c-be0f-475f-8f3f-c8a7a2ee5a78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-be1ee80c-be0f-475f-8f3f-c8a7a2ee5a78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac2a04d2-0f74-4918-9d1c-212a8882048c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac2a04d2-0f74-4918-9d1c-212a8882048c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6a1e15e-14f9-49e3-88eb-603e2a7b80aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6a1e15e-14f9-49e3-88eb-603e2a7b80aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bffc8822-ed0a-44fb-8855-dc65a5865e4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bffc8822-ed0a-44fb-8855-dc65a5865e4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-247b8858-a149-4b95-8212-e0ae8c251861 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-247b8858-a149-4b95-8212-e0ae8c251861 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.102894s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_member [0.062510s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_post_admin [0.172359s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_observer [0.181339s] ... ok POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'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-d8cf82f9-a7f0-492e-bd99-42806794a4e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:07.467019+00:00", "updated_at": null, "boot_index": 0, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-19T19:58:07.467019+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'} 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-3584eefe-5260-49cd-b00c-6dcacf2640d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:07.512796+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: 200 OK Content-Type: application/json Openstack-Request-Id: req-6729e255-38fb-4f14-9d48-82da28b2a41c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:07.606244+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 {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.116303s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.093939s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.104662s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_observer [0.177725s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_5_public_api [0.113673s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_300_node_history_get_admin [0.064085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_nodes_volume_get_admin [0.075678s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_302_node_history_get_observer [0.057274s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.115562s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6729e255-38fb-4f14-9d48-82da28b2a41c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:07.606244+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-b229750d-c406-4f9d-ba6b-07d3d2ee9ff2 {"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.80"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b229750d-c406-4f9d-ba6b-07d3d2ee9ff2 {"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.80"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}]} API ACL Testing Path get /v1 GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-972e78bc-ec29-49e2-8a2c-ab9d86e98ce5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "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_6_public_api_v1 [0.069371s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.063642s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88bdbef1-5760-480e-bd26-2d53efbeb2ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6a01de45-11c2-4abe-abdf-0eabdd14e646 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6a01de45-11c2-4abe-abdf-0eabdd14e646 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-260603d2-0495-4689-81c5-f073c2630dcf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-260603d2-0495-4689-81c5-f073c2630dcf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3 Openstack-Request-Id: req-c49ba3a7-228d-4aa3-8044-8c9234492a15 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "created_at": "2024-09-19T19:58:07.597155+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "rel": "self"}, {"href": "http://localhost/volume/targets/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "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/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3 Openstack-Request-Id: req-c49ba3a7-228d-4aa3-8044-8c9234492a15 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "created_at": "2024-09-19T19:58:07.597155+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "rel": "self"}, {"href": "http://localhost/volume/targets/2f4dc49a-df8e-4e4e-a5eb-b4e99cd5f5f3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68ae68b8-54df-4f93-bd04-163b67246e05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-68ae68b8-54df-4f93-bd04-163b67246e05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88560a45-752c-4770-84af-a2fa2e494694 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88560a45-752c-4770-84af-a2fa2e494694 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9d445e24-d0f5-4388-b6bc-60d1bd91d692 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_member [0.059104s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_observer [0.065770s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.058102s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_191_volume_volume_target_id_get_member [0.093688s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d98c76c4-874e-4ad9-8429-c20ae9ad3c60 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d98c76c4-874e-4ad9-8429-c20ae9ad3c60 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-056e778b-10e1-4f7f-a294-7964049d30b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-056e778b-10e1-4f7f-a294-7964049d30b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1e5f2720-8be8-4f89-acce-734c1da1830b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1e5f2720-8be8-4f89-acce-734c1da1830b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed9b0de4-91bd-4324-8c45-97652fa92ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:07.486713+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-ed9b0de4-91bd-4324-8c45-97652fa92ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:07.486713+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-816e1d07-9093-49d7-b959-1f7dd19b0af1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-816e1d07-9093-49d7-b959-1f7dd19b0af1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f0a6798-bf64-441a-9401-60c741d96062 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "83432106-3aac-4f71-8b37-b9765284b6d9", "created_at": "2024-09-19T19:58:07.773409+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/83432106-3aac-4f71-8b37-b9765284b6d9", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7f0a6798-bf64-441a-9401-60c741d96062 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "83432106-3aac-4f71-8b37-b9765284b6d9", "created_at": "2024-09-19T19:58:07.773409+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/83432106-3aac-4f71-8b37-b9765284b6d9", "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-0fd9a2d9-0add-4bf1-bae9-4ac2bbfbdb00 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "b6597c79-0440-435a-b9de-d7f8b56f3e21", "created_at": "2024-09-19T19:58:07.831480+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b6597c79-0440-435a-b9de-d7f8b56f3e21", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0fd9a2d9-0add-4bf1-bae9-4ac2bbfbdb00 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "b6597c79-0440-435a-b9de-d7f8b56f3e21", "created_at": "2024-09-19T19:58:07.831480+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b6597c79-0440-435a-b9de-d7f8b56f3e21", "rel": "self"}]}]} API ACL Testing Path post /v1/nodes {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.079655s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.127679s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_manager_can_post_nodes [0.079849s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.176510s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.113329s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.074927s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_manager_can_get_node [0.084424s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_drivers_get_admin [0.058092s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_reader_can_get_node [0.071546s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.146947s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.172657s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_lessee_admin_can_get_node [0.069935s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_third_party_admin_cannot_get_node [0.069144s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_member [0.249452s] ... ok POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7bcbbb63-3f2b-4dff-988d-810089e769e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7bcbbb63-3f2b-4dff-988d-810089e769e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-d8123fd0-7ef0-4850-b0e1-a8b84ba0e33e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d8123fd0-7ef0-4850-b0e1-a8b84ba0e33e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d610f41e-acd5-4a19-a7ac-2eda8e8304bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "93f934d9-a7cb-45a1-838b-e36bc62cf626", "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-d610f41e-acd5-4a19-a7ac-2eda8e8304bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "93f934d9-a7cb-45a1-838b-e36bc62cf626", "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-8fea1594-635f-4421-9b40-646e925ceff1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "5e17bde3-6f60-4744-bf03-5e28d683e5bf", "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-8fea1594-635f-4421-9b40-646e925ceff1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "5e17bde3-6f60-4744-bf03-5e28d683e5bf", "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-234c3817-a1a3-4f2e-b974-84a05d17fada X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "6b578dc7-1891-44b9-995d-2095c4ef8675", "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-234c3817-a1a3-4f2e-b974-84a05d17fada X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "6b578dc7-1891-44b9-995d-2095c4ef8675", "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-c26619af-3ff9-44b9-bdae-cd8484f77a57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c26619af-3ff9-44b9-bdae-cd8484f77a57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_022_owner_reader_can_get_their_node [0.064799s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_025_lessee_reader_cant_get_other_node [0.071285s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_031_third_party_admin_cannot_get_detail [0.251839s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9632b524-8706-465a-8871-4b29cb9e5e9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9632b524-8706-465a-8871-4b29cb9e5e9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75796121-0dd3-454c-9310-8c8197a584ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75796121-0dd3-454c-9310-8c8197a584ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-197e05a3-9fb8-4320-98b1-5ca66f53c712 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-197e05a3-9fb8-4320-98b1-5ca66f53c712 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cfebefb7-0c3d-46fa-b3ca-e6d29d9c7e04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:07.828399+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-cfebefb7-0c3d-46fa-b3ca-e6d29d9c7e04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:07.828399+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-41a53348-7440-498f-9db4-a6256f2ca0e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-41a53348-7440-498f-9db4-a6256f2ca0e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-63501f6f-8ae4-4e29-a40c-5a761aa9bfc5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-63501f6f-8ae4-4e29-a40c-5a761aa9bfc5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98f60ace-58fc-446e-8bb3-66859eba3248 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98f60ace-58fc-446e-8bb3-66859eba3248 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1eab34cf-8b07-4d84-b0dc-da8872dd5b74 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_observer [0.152316s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_213_drivers_driver_name_get_observer [0.261463s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_member [0.238677s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.229815s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9d445e24-d0f5-4388-b6bc-60d1bd91d692 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-55d997fa-373d-4b10-b367-ddade4ddb08b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-55d997fa-373d-4b10-b367-ddade4ddb08b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2464fad8-c3ee-4cab-8994-c14693689a58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2464fad8-c3ee-4cab-8994-c14693689a58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-991400a9-baed-47ce-8a62-9ce48dabc0d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-991400a9-baed-47ce-8a62-9ce48dabc0d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d9c69655-9dd2-40d7-b947-8f773af54ae3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d9c69655-9dd2-40d7-b947-8f773af54ae3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-24792738-de0d-46aa-aadf-360ecc6c4233 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24792738-de0d-46aa-aadf-360ecc6c4233 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ffc3b15-47dc-4a62-8610-6171f1b5e1ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2ffc3b15-47dc-4a62-8610-6171f1b5e1ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_212_drivers_driver_name_get_member [0.057134s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_observer [0.058185s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.079280s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_nodes_bios_get_admin [0.146957s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_member [0.273612s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_observer [0.140029s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_246_allocations_post_admin [0.129922s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52c512e2-0f6b-4df8-9328-1c908df03008 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:08.387499+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-52c512e2-0f6b-4df8-9328-1c908df03008 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:08.387499+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-cff49fed-743e-4b8a-9765-241d0d06bdb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cff49fed-743e-4b8a-9765-241d0d06bdb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-949d9363-44e0-44e0-926f-8a1cda6b1591 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-949d9363-44e0-44e0-926f-8a1cda6b1591 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a09a819-59b4-40e5-b0db-5d34fb236817 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_reader_cannot_patch_node_extra [0.260339s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_042_owner_manager_can_change_drivers [0.265842s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_lessee_member_cannot_patch_instance_info [0.085749s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.261117s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_cannot_patch_driver_info [0.085438s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-972e78bc-ec29-49e2-8a2c-ab9d86e98ce5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.80"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} API ACL Testing Path get /v1.xml GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} API ACL Testing Path 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-76aba160-af15-4ae8-acbc-2ee709de6893 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-76aba160-af15-4ae8-acbc-2ee709de6893 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18fabd61-19e1-48c1-88d6-ce4e4da57afa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18fabd61-19e1-48c1-88d6-ce4e4da57afa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-e09916d2-e69e-4372-8d85-ece8028b47d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:08.295162+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:08.301614+00:00", "updated_at": "2024-09-19T19:58:08.304799+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "cac494e9-7b44-416f-8002-eb99408f391f", "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": "cac494e9-7b44-416f-8002-eb99408f391f", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:08.333221+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e09916d2-e69e-4372-8d85-ece8028b47d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:08.295162+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:08.301614+00:00", "updated_at": "2024-09-19T19:58:08.304799+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "cac494e9-7b44-416f-8002-eb99408f391f", "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": "cac494e9-7b44-416f-8002-eb99408f391f", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:08.333221+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_013_nodes_detail_get_observer [0.152625s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_016_nodes_node_ident_get_observer [0.240954s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.140741s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.277668s] ... 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-224cf629-b317-415f-bd32-4633ec37c3ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:08.471039+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-224cf629-b317-415f-bd32-4633ec37c3ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:08.471039+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cc135d36-0a3f-4030-816f-b9a3f856594d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cc135d36-0a3f-4030-816f-b9a3f856594d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18cec2aa-375e-42a1-a21c-b95871deab29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-18cec2aa-375e-42a1-a21c-b95871deab29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.152996s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.129319s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_030_nodes_maintenance_delete_member [0.158128s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.138110s] ... ok 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-4c60f709-ef99-40a6-9e42-e93ece3ab535 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4c60f709-ef99-40a6-9e42-e93ece3ab535 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa265a2f-5275-48d1-84e2-a2b5699b341d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa265a2f-5275-48d1-84e2-a2b5699b341d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cf08c9b6-1f3f-4a1d-93f5-762aa505ee8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cf08c9b6-1f3f-4a1d-93f5-762aa505ee8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6c97a0f1-2307-413f-a4a4-d438a19ac970 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:08.737050+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-6c97a0f1-2307-413f-a4a4-d438a19ac970 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:08.737050+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c64c4245-eee1-4d5e-950b-e8052d2f9a8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c64c4245-eee1-4d5e-950b-e8052d2f9a8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-62123486-c246-4142-b8e8-3e8c87811ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-62123486-c246-4142-b8e8-3e8c87811ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-626514ea-a45b-43d8-8681-71010c89e5b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-626514ea-a45b-43d8-8681-71010c89e5b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c153742f-cc7b-431d-a96c-27c1676900bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "032dac42-ad07-427e-b3cd-7a7130d7df80", "created_at": "2024-09-19T19:58:09.384034+00:00", "updated_at": "2024-09-19T19:58:09.403545+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/032dac42-ad07-427e-b3cd-7a7130d7df80", "rel": "self"}, {"href": "http://localhost/allocations/032dac42-ad07-427e-b3cd-7a7130d7df80", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_249_allocations_get_admin [0.181514s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_observer [0.102331s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_member_can_patch_node_instance_info [0.188833s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.167184s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_266_nodes_allocation_delete_observer [0.065669s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.100409s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_069_owner_admin_cannot_delete_nodes [0.151714s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.221577s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_observer [0.139248s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_047_nodes_states_power_put_admin [0.119870s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.073515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_lessee_admin_cannot_delete_nodes [0.148693s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.052588s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.062732s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.207511s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_admin_can_validate_node [0.099870s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.104411s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c153742f-cc7b-431d-a96c-27c1676900bb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "032dac42-ad07-427e-b3cd-7a7130d7df80", "created_at": "2024-09-19T19:58:09.384034+00:00", "updated_at": "2024-09-19T19:58:09.403545+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/032dac42-ad07-427e-b3cd-7a7130d7df80", "rel": "self"}, {"href": "http://localhost/allocations/032dac42-ad07-427e-b3cd-7a7130d7df80", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a7520e2-0630-4a54-a006-4a48c1d28084 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "created_at": "2024-09-19T19:58:09.572652+00:00", "updated_at": "2024-09-19T19:58:09.583531+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "rel": "self"}, {"href": "http://localhost/allocations/4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a7520e2-0630-4a54-a006-4a48c1d28084 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "created_at": "2024-09-19T19:58:09.572652+00:00", "updated_at": "2024-09-19T19:58:09.583531+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "rel": "self"}, {"href": "http://localhost/allocations/4bbdafd9-d850-41eb-b164-e4357ba0a0c9", "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-c180ead7-bb27-48ab-90f4-e862677e4eef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c180ead7-bb27-48ab-90f4-e862677e4eef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e05d96a1-12f5-4724-86b5-3bd940f9c034 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e05d96a1-12f5-4724-86b5-3bd940f9c034 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/901bdc78-4fe8-40d6-b018-5a60e1c305b0 GET: /v1/deploy_templates/901bdc78-4fe8-40d6-b018-5a60e1c305b0 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-140e3121-fc9c-44eb-8fe7-97a001a3eca2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "901bdc78-4fe8-40d6-b018-5a60e1c305b0", "created_at": "2024-09-19T19:58:09.855732+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/901bdc78-4fe8-40d6-b018-5a60e1c305b0", "rel": "self"}, {"href": "http://localhost/deploy_templates/901bdc78-4fe8-40d6-b018-5a60e1c305b0", "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-140e3121-fc9c-44eb-8fe7-97a001a3eca2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "901bdc78-4fe8-40d6-b018-5a60e1c305b0", "created_at": "2024-09-19T19:58:09.855732+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/901bdc78-4fe8-40d6-b018-5a60e1c305b0", "rel": "self"}, {"href": "http://localhost/deploy_templates/901bdc78-4fe8-40d6-b018-5a60e1c305b0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/deploy_templates/e668b9b9-51e5-4dc1-9536-be489f67539e GET: /v1/deploy_templates/e668b9b9-51e5-4dc1-9536-be489f67539e {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e2d3d609-4340-4efe-ae98-61b93ce0a3b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e2d3d609-4340-4efe-ae98-61b93ce0a3b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/9f57af50-15d6-41d2-8220-67ca39854163 PATCH: /v1/deploy_templates/9f57af50-15d6-41d2-8220-67ca39854163 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b009834b-c679-49f2-b47a-98e866d72faa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.058561s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.079271s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.063512s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_member [0.061733s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a09a819-59b4-40e5-b0db-5d34fb236817 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2745d193-5d95-4ce0-8e89-01715931f63a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2745d193-5d95-4ce0-8e89-01715931f63a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-430d913c-77bc-409a-85b8-e16a300e6925 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-430d913c-77bc-409a-85b8-e16a300e6925 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f90cb788-6968-471c-8047-6f7f144e2048 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f90cb788-6968-471c-8047-6f7f144e2048 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-cc7d697a-9626-4db0-b08a-f6e520903bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cc7d697a-9626-4db0-b08a-f6e520903bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13a98784-14d0-4aa3-8a38-e4cd0e42f0f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-13a98784-14d0-4aa3-8a38-e4cd0e42f0f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d88318a9-7e31-4cab-abd8-71ba70d5d3cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d88318a9-7e31-4cab-abd8-71ba70d5d3cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-099616fa-31d1-43bc-9338-40500d116af2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-099616fa-31d1-43bc-9338-40500d116af2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dc5ffda5-8783-46f3-9494-ede020678ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_owner_manager_can_validate_node [0.151198s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-de0558e2-170d-4953-bb7a-ec2cb4ede0c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-de0558e2-170d-4953-bb7a-ec2cb4ede0c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-665534d7-7ab7-4b12-b040-fcdcadae8dca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-665534d7-7ab7-4b12-b040-fcdcadae8dca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b9795998-91c7-4c23-b387-8d911c143936 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b9795998-91c7-4c23-b387-8d911c143936 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5efac059-00e1-4daf-9de3-446b83e92098 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5efac059-00e1-4daf-9de3-446b83e92098 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d379781-ef44-460e-9328-b9f50d726dbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d379781-ef44-460e-9328-b9f50d726dbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c17fedf9-2f28-4ce4-9d26-a9ae03322d58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c17fedf9-2f28-4ce4-9d26-a9ae03322d58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2ec805c-0701-413f-929b-b35b8bb3281b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2ec805c-0701-413f-929b-b35b8bb3281b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-171abb27-b8db-4f3b-84e5-13e4b2c6af69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-171abb27-b8db-4f3b-84e5-13e4b2c6af69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_062_nodes_states_console_get_admin [0.173553s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.113278s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_admin_can_validate_node [0.199265s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_put_admin [0.184133s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1eab34cf-8b07-4d84-b0dc-da8872dd5b74 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d384a0dd-aeb2-4800-9f77-34f7b97f8879 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d384a0dd-aeb2-4800-9f77-34f7b97f8879 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26a29f7b-fdce-4ed6-b07f-3457772e7b95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-26a29f7b-fdce-4ed6-b07f-3457772e7b95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-320b5b34-f56a-43ad-803a-9e978c24d057 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-320b5b34-f56a-43ad-803a-9e978c24d057 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a8177566-3e5c-4d59-a8b7-582e91ac4baf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8177566-3e5c-4d59-a8b7-582e91ac4baf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6874f8f8-b361-424f-a6a4-4fbae737af4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6874f8f8-b361-424f-a6a4-4fbae737af4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f939c624-7cd1-47e9-a2d4-07086496dc75 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f939c624-7cd1-47e9-a2d4-07086496dc75 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd2977e4-805d-44f5-852e-82b5b1274d73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd2977e4-805d-44f5-852e-82b5b1274d73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ecc640e4-d96a-4503-b96f-a45f23f00a5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:10.294826+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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_observer [0.196929s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.111708s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_member_can_validate_node [0.091175s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.057924s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_080_lessee_member_cannot_validate_node [0.052423s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.198047s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.170940s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_081_third_party_admin_cannot_validate_node [0.056424s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_082_owner_admin_can_set_maintenance [0.052004s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.066156s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_member [0.123776s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.102627s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_088_third_party_admin_cannot_set_maintenance [0.081225s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_098_lessee_admin_cannot_set_boot_device [0.055332s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b009834b-c679-49f2-b47a-98e866d72faa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/66ed867f-227e-4634-8e3f-5df8589d6cd3 PATCH: /v1/deploy_templates/66ed867f-227e-4634-8e3f-5df8589d6cd3 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7f4d21f7-7627-4e75-b46c-35332becceb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f4d21f7-7627-4e75-b46c-35332becceb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/f4d87ba8-3754-4f09-8b04-8e32fbd1b42b DELETE: /v1/deploy_templates/f4d87ba8-3754-4f09-8b04-8e32fbd1b42b GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e56fd55-ea12-4922-aac8-b40d1730a229 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2e56fd55-ea12-4922-aac8-b40d1730a229 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-af81059c-afa8-4c3e-8b9e-012460e47dae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-af81059c-afa8-4c3e-8b9e-012460e47dae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86ecec1d-f5f4-49bd-91fb-31888ce2e4e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:10.268778+00:00", "updated_at": "2024-09-19T19:58:10.321211+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-86ecec1d-f5f4-49bd-91fb-31888ce2e4e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:10.268778+00:00", "updated_at": "2024-09-19T19:58:10.321211+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46d80d38-673d-40b2-802a-4668fc676115 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46d80d38-673d-40b2-802a-4668fc676115 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-50ea2a1b-f5ee-4b40-8cfe-3b5fb204c09f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-50ea2a1b-f5ee-4b40-8cfe-3b5fb204c09f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-16eaa453-e92a-4a5f-8dc9-f77991fd3c9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16eaa453-e92a-4a5f-8dc9-f77991fd3c9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.101570s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_009_third_party_admin_cannot_post_nodes [0.073821s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_third_party_admin_can_post_nodes [0.093542s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_hostname_get_admin [0.143434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.106482s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dc5ffda5-8783-46f3-9494-ede020678ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-07f3271b-c50f-49ef-a50a-7b1e5321a627 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-07f3271b-c50f-49ef-a50a-7b1e5321a627 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-60be6925-5946-4cd9-9d8f-93e72fc298c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-60be6925-5946-4cd9-9d8f-93e72fc298c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-559b02d9-7da5-4f22-b0bb-3bed127ccacb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-559b02d9-7da5-4f22-b0bb-3bed127ccacb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"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-c882618e-1a5a-43aa-b4e2-8f76f49fc34e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c882618e-1a5a-43aa-b4e2-8f76f49fc34e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e5f9dfc5-574d-44ca-891a-39b593e3b05d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e5f9dfc5-574d-44ca-891a-39b593e3b05d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff5c968b-e13e-4559-b394-e6aed69385de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff5c968b-e13e-4559-b394-e6aed69385de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6c4966f6-46c0-4277-8ff6-c829d9cf92b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6c4966f6-46c0-4277-8ff6-c829d9cf92b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-50e74f07-6a3c-49c9-b5f8-4476efa7c680 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_101_lessee_member_cannot_set_boot_device [0.063002s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_116_third_party_admin_cannot_get_supported_boot_devices [0.058121s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_observer [0.127141s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_reader_get_states [0.072933s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.074200s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_011_owner_member_cannot_post_nodes [0.159328s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_observer [0.051826s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_129_owner_member_can_put_power_state_change [0.052666s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_247_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. {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_130_lessee_member_can_put_power_state_change [0.061830s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_owner_reader_cannot_post_reader [0.148923s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_owner_reader_cannot_put_power_state_change [0.057250s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-809bed29-986c-4318-adb5-463aae1e6fa5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-809bed29-986c-4318-adb5-463aae1e6fa5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2ccdb1a6-f154-468a-bc78-47dbcae5b632 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2ccdb1a6-f154-468a-bc78-47dbcae5b632 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f647da73-8934-488b-812e-1e673fcff81b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f647da73-8934-488b-812e-1e673fcff81b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9568cdab-9934-469a-abf0-bcf390ad1704 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9568cdab-9934-469a-abf0-bcf390ad1704 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-45756979-3059-4881-8485-22ede6736e7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-45756979-3059-4881-8485-22ede6736e7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a936c6c0-f8a0-49f6-af6b-670ee508068b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a936c6c0-f8a0-49f6-af6b-670ee508068b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7e1c4a71-8bbc-4d4d-bea2-8c15e7cc3c59 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7e1c4a71-8bbc-4d4d-bea2-8c15e7cc3c59 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5c3c4f60-0e41-42af-995c-1cd01574cbd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5c3c4f60-0e41-42af-995c-1cd01574cbd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_observer [0.065055s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.052460s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_248_allocations_post_observer [0.132911s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_lessee_manager_can_get_node [0.075865s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_107_nodes_management_indicators_get_member [0.057778s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_reader_cannot_put_power_state_change [0.123210s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_owner_reader_cannot_get_other_node [0.098627s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_253_allocations_allocation_id_get_member [0.131856s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_post_admin [0.055354s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_member [0.066005s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_134_owner_admin_can_put_boot_mode_state_change [0.124403s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c824bf12-8d29-4322-aa7f-245efe71cdbf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c824bf12-8d29-4322-aa7f-245efe71cdbf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-afce3f2b-2323-4cc1-bc72-03dbd7e3fccb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-afce3f2b-2323-4cc1-bc72-03dbd7e3fccb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35324843-345f-4ac9-8be2-35b6c3935eb5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35324843-345f-4ac9-8be2-35b6c3935eb5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-f9a2d3f0-16a7-47b6-ad56-90c36baed9a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f9a2d3f0-16a7-47b6-ad56-90c36baed9a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aeb19650-b258-43c6-a70b-ab65e4d2fff3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "b520887b-77c0-4ef1-b7b3-1eaa236d841d", "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-aeb19650-b258-43c6-a70b-ab65e4d2fff3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "b520887b-77c0-4ef1-b7b3-1eaa236d841d", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1b0778f7-5b5b-48e7-ace9-9090781616f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b0778f7-5b5b-48e7-ace9-9090781616f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_owner_reader_can_get_restricted_fields [0.189001s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-592d2621-c276-4acd-96bb-974ef6d050ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-592d2621-c276-4acd-96bb-974ef6d050ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-70d1ae33-b1f4-4fa5-9960-b50e2ecbc229 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-70d1ae33-b1f4-4fa5-9960-b50e2ecbc229 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a07a7f56-d2de-4571-b106-f4ee7aeea76f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a07a7f56-d2de-4571-b106-f4ee7aeea76f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3 Openstack-Request-Id: req-7ed52dac-ef9c-48af-8564-f7af826c9f95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "created_at": "2024-09-19T19:58:11.312549+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/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "rel": "self"}, {"href": "http://localhost/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3/ports", "rel": "self"}, {"href": "http://localhost/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3 Openstack-Request-Id: req-7ed52dac-ef9c-48af-8564-f7af826c9f95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "created_at": "2024-09-19T19:58:11.312549+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/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "rel": "self"}, {"href": "http://localhost/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3/ports", "rel": "self"}, {"href": "http://localhost/portgroups/f4e7c3f7-6a8b-4a7a-8c6d-be0d300d96f3/ports", "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-664bd724-f241-475c-9762-537954f116ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-664bd724-f241-475c-9762-537954f116ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f810fb21-77d4-411c-bc1d-7d579c8bd114 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.411032+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"}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.054502s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.086987s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_nodes_portgroups_get_admin [0.122340s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecc640e4-d96a-4503-b96f-a45f23f00a5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:10.294826+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-b59a69f0-be0b-4d76-a853-6a9eba04fdd3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:10.455442+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-b59a69f0-be0b-4d76-a853-6a9eba04fdd3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:10.455442+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8fef45d4-2a76-4886-81ad-c6d0358c4e16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8fef45d4-2a76-4886-81ad-c6d0358c4e16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-171d2eb2-9d01-4efa-acfb-4dd304fcf3ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:10.774656+00:00", "updated_at": "2024-09-19T19:58:10.775732+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-171d2eb2-9d01-4efa-acfb-4dd304fcf3ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:10.774656+00:00", "updated_at": "2024-09-19T19:58:10.775732+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-c7914f4d-e315-4bce-b2b8-96ebc832a62b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:10.898829+00:00", "updated_at": "2024-09-19T19:58:10.899634+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-c7914f4d-e315-4bce-b2b8-96ebc832a62b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:10.898829+00:00", "updated_at": "2024-09-19T19:58:10.899634+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1616e94-b283-4dc6-b82f-ce96239a7435 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1616e94-b283-4dc6-b82f-ce96239a7435 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/e9e115d2-f049-49d8-8f2f-54ee42cbe782 GET: /v1/allocations/e9e115d2-f049-49d8-8f2f-54ee42cbe782 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aafec89-066c-48c9-911e-afe90428c1c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e9e115d2-f049-49d8-8f2f-54ee42cbe782 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aafec89-066c-48c9-911e-afe90428c1c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e9e115d2-f049-49d8-8f2f-54ee42cbe782 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/d12182fc-ff12-4c64-ba11-a576968e505a PATCH: /v1/allocations/d12182fc-ff12-4c64-ba11-a576968e505a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.117034s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.123583s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.138717s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-50e74f07-6a3c-49c9-b5f8-4476efa7c680 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-18a241ae-aac4-45e4-9d80-daf66aa3e06c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18a241ae-aac4-45e4-9d80-daf66aa3e06c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/states GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74f2df88-ac47-45be-ad2f-fffb9bcb6b2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-74f2df88-ac47-45be-ad2f-fffb9bcb6b2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c591c122-f0be-421d-9fc8-e1965fe426a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c591c122-f0be-421d-9fc8-e1965fe426a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0f5cb17c-54d4-4dfc-968f-b05e76d9e0b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0f5cb17c-54d4-4dfc-968f-b05e76d9e0b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0d17e69-14bc-42f3-b252-d8628e867f0e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0d17e69-14bc-42f3-b252-d8628e867f0e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-013c9b29-9663-4aba-abd7-bbf7304aa7c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-013c9b29-9663-4aba-abd7-bbf7304aa7c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-34efcab0-9e22-4764-8c1b-df5fccdb74ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-34efcab0-9e22-4764-8c1b-df5fccdb74ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fc1ca65f-3be0-4ed7-bce2-c768953048a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_third_party_admin_cannot_patch_node_extra [0.296465s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_144_owner_manager_can_put_secure_boot_state_change [0.119164s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_manager_can_change_provision_state [0.124340s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_owner_admin_can_set_raid_config [0.133055s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.134466s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.180712s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_cannot_change_owner [0.130769s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_163_owner_member_can_set_raid_config [0.145615s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.085902s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_member [0.126769s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f810fb21-77d4-411c-bc1d-7d579c8bd114 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.411032+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4bc6dbea-8de2-48f1-9989-034f9b21ced8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4bc6dbea-8de2-48f1-9989-034f9b21ced8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b01b5e5-a4e2-4a38-a4b7-b8553b2443e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b01b5e5-a4e2-4a38-a4b7-b8553b2443e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05796747-0b91-4cd4-827a-73e5460fba27 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.747786+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-05796747-0b91-4cd4-827a-73e5460fba27 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.747786+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9208a21f-5f99-41e3-bdbc-ef3fb0884a86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.876875+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-9208a21f-5f99-41e3-bdbc-ef3fb0884a86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:11.876875+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'} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_140_ports_post_member [0.054699s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_141_ports_post_observer [0.048982s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_owner_manager_can_get_console [0.174142s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_142_ports_detail_get_admin [0.072354s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_delete_admin [0.192731s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53b921b1-0eb4-4f08-b4e6-57fc54fe4ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:11.350592+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-53b921b1-0eb4-4f08-b4e6-57fc54fe4ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:11.350592+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 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-c1eef1a9-0856-454d-9ba0-df320e432b06 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c1eef1a9-0856-454d-9ba0-df320e432b06 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c85ade53-e556-4b5e-bb39-953642f8c909 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c85ade53-e556-4b5e-bb39-953642f8c909 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}] {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_lessee_member_can_set_protected [0.182073s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_150_ports_port_id_patch_observer [0.102091s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_properties [0.123895s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_173_lessee_reader_cannot_get_console [0.159618s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_272_deploy_templates_get_observer [0.134762s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_member [0.097156s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_name [0.118846s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_161_portgroups_ports_get_member [0.077977s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_owner_admin_can_set_console [0.124581s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.062534s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07199a48-26a3-48c0-84bd-589f3dd74901 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d12182fc-ff12-4c64-ba11-a576968e505a could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07199a48-26a3-48c0-84bd-589f3dd74901 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d12182fc-ff12-4c64-ba11-a576968e505a could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/71bb041e-dbd4-41c9-a09e-5e31521067f3 DELETE: /v1/allocations/71bb041e-dbd4-41c9-a09e-5e31521067f3 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b26fa95c-6a35-4ef0-acd4-67b2690d95ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b26fa95c-6a35-4ef0-acd4-67b2690d95ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/2807225e-8063-4a02-b88d-a5ffeac253ac DELETE: /v1/allocations/2807225e-8063-4a02-b88d-a5ffeac253ac GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7d8b8bb-91fc-4624-9202-d4a405aeb91a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2807225e-8063-4a02-b88d-a5ffeac253ac could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7d8b8bb-91fc-4624-9202-d4a405aeb91a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2807225e-8063-4a02-b88d-a5ffeac253ac could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/8de5a4b3-6aa2-4d92-bfd7-2c3016ba4f2c DELETE: /v1/allocations/8de5a4b3-6aa2-4d92-bfd7-2c3016ba4f2c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc3731bd-c68c-4a1e-bc20-77dde754c10e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dc3731bd-c68c-4a1e-bc20-77dde754c10e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a434567-6400-48a5-b93e-2466cd8013dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0a434567-6400-48a5-b93e-2466cd8013dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e6291970-7c96-44b8-a080-5159e4452050 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e6291970-7c96-44b8-a080-5159e4452050 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40d56a72-6a3c-41f1-bc42-ccf9c5e0462d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "1cd0c55f-75c1-458e-8951-9facd726e6fd", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1cd0c55f-75c1-458e-8951-9facd726e6fd", "rel": "self"}, {"href": "http://localhost/deploy_templates/1cd0c55f-75c1-458e-8951-9facd726e6fd", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40d56a72-6a3c-41f1-bc42-ccf9c5e0462d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "1cd0c55f-75c1-458e-8951-9facd726e6fd", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1cd0c55f-75c1-458e-8951-9facd726e6fd", "rel": "self"}, {"href": "http://localhost/deploy_templates/1cd0c55f-75c1-458e-8951-9facd726e6fd", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da GET: /v1/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23aa2d7e-1f8a-4b35-b659-a9ee8c0ae7c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "73766100-3bac-4c95-acc1-8f68a3f4b7da", "created_at": "2024-09-19T19:58:12.343599+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da", "rel": "self"}, {"href": "http://localhost/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.119971s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_reader_cannot_get_vendor_passthru_methods [0.133382s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_063_owner_reader_can_patch_node_instance_info [0.173704s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_chassis_post_admin [0.140313s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d862350-80b0-4d41-b466-f0fc84164149 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d862350-80b0-4d41-b466-f0fc84164149 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a2d3a693-95f6-426a-9d54-f075c9286ea0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a2d3a693-95f6-426a-9d54-f075c9286ea0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6ce129de-041c-4b27-bff9-c2882f93e790 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.064954+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-6ce129de-041c-4b27-bff9-c2882f93e790 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.064954+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7d92879-660d-4475-8580-4b3f00c06f26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c7d92879-660d-4475-8580-4b3f00c06f26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"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-35ed190d-a1ef-41b5-9eaa-47ea73bdb175 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35ed190d-a1ef-41b5-9eaa-47ea73bdb175 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6331afc4-7279-4125-8078-ba917e88f6cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6331afc4-7279-4125-8078-ba917e88f6cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e3ec45d2-c476-4625-88ec-06dba80899ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3ec45d2-c476-4625-88ec-06dba80899ed X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba317c3b-c87e-4674-a5fe-973dd74fa90f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_169_volume_connectors_get_admin [0.061933s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.059562s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_188_volume_targets_post_member [0.056540s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_get_admin [0.116737s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc1ca65f-3be0-4ed7-bce2-c768953048a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-691ea28a-5d4e-4d2a-af93-8803341e60f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-691ea28a-5d4e-4d2a-af93-8803341e60f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-49a7ec36-af34-4118-b812-1da44358fe24 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-49a7ec36-af34-4118-b812-1da44358fe24 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1770a1a9-897d-4c67-881a-d1b6bc65b84b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1770a1a9-897d-4c67-881a-d1b6bc65b84b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-683f2802-9d26-498d-9482-6dadd72fbce9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-683f2802-9d26-498d-9482-6dadd72fbce9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa478983-4f5f-442a-821a-4b3902a82b1b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa478983-4f5f-442a-821a-4b3902a82b1b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7bee806e-47d5-45d8-a8a5-a2c24e6a7a7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7bee806e-47d5-45d8-a8a5-a2c24e6a7a7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d485ae74-40ec-4731-8471-47b6d72a3ade X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d485ae74-40ec-4731-8471-47b6d72a3ade X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4cf3f2ff-e4f0-433c-88a0-0795f380343e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_admin_cannot_get_vendor_passthru [0.113829s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_lessee_manager_can_patch_node_instance_info [0.164198s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.112185s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_reader_cannot_get_vendor_passthru [0.107849s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_288_chassis_detail_get_admin [0.104729s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.075656s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_reader_can_patch_node_instance_info [0.128559s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.071018s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_lessee_member_cannot_get_vendor_passthru [0.113130s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.113599s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_owner_admin_can_delete_nodes [0.152193s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23aa2d7e-1f8a-4b35-b659-a9ee8c0ae7c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "73766100-3bac-4c95-acc1-8f68a3f4b7da", "created_at": "2024-09-19T19:58:12.343599+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da", "rel": "self"}, {"href": "http://localhost/deploy_templates/73766100-3bac-4c95-acc1-8f68a3f4b7da", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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/216a68dc-5d83-4cd4-ba86-5db578d365b0 Openstack-Request-Id: req-b2b1b8f5-0b52-4b22-b921-1e6adc979b63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "216a68dc-5d83-4cd4-ba86-5db578d365b0", "created_at": "2024-09-19T19:58:12.534958+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0", "rel": "self"}, {"href": "http://localhost/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0/nodes", "rel": "self"}, {"href": "http://localhost/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0 Openstack-Request-Id: req-b2b1b8f5-0b52-4b22-b921-1e6adc979b63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "216a68dc-5d83-4cd4-ba86-5db578d365b0", "created_at": "2024-09-19T19:58:12.534958+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0", "rel": "self"}, {"href": "http://localhost/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0/nodes", "rel": "self"}, {"href": "http://localhost/chassis/216a68dc-5d83-4cd4-ba86-5db578d365b0/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-c3e70d69-19d4-4333-951e-780a504f5654 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c3e70d69-19d4-4333-951e-780a504f5654 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dc48c1a9-c02d-41d7-a86d-c3c54a9f7b3d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:12.714078+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-dc48c1a9-c02d-41d7-a86d-c3c54a9f7b3d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:12.714078+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-5d99c938-41c4-4111-b518-0a1b34b94ee5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:12.807829+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-5d99c938-41c4-4111-b518-0a1b34b94ee5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:12.807829+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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df134124-8108-408d-9b16-1e5592e28240 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_301_node_history_get_member [0.053068s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_observer [0.118555s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.136570s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_071_owner_manager_cannot_delete_nodes [0.125404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_004_owner_manager_cannot_post_nodes [0.141658s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_201_lessee_admin_cannot_post_vendor_passthru [0.327676s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_205_owner_admin_cannot_put_vendor_passthru [0.061754s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bfa3e08-beb5-4657-988c-ff1175a9f01f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bfa3e08-beb5-4657-988c-ff1175a9f01f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/properties', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-de3145d7-9ef3-4ab5-a259-18191d177954 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-de3145d7-9ef3-4ab5-a259-18191d177954 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/name', 'value': 'meow-node-1'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a44d0d8c-030b-4bf1-9c5b-68eb7393b8dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a44d0d8c-030b-4bf1-9c5b-68eb7393b8dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-786ec9c4-f372-4700-b617-aa8ff7573e32 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-786ec9c4-f372-4700-b617-aa8ff7573e32 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b13c8d26-8d22-447a-874a-a7b7fc5843d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b13c8d26-8d22-447a-874a-a7b7fc5843d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e800a5ef-c444-4813-b940-2852fb3e67db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e800a5ef-c444-4813-b940-2852fb3e67db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7ddfc220-2d41-4d0b-aebe-cb1b7c973acf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7ddfc220-2d41-4d0b-aebe-cb1b7c973acf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c69d7644-6ca5-4307-a804-65f9a6388480 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c69d7644-6ca5-4307-a804-65f9a6388480 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_lessee_manager_can_validate_node [0.100429s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_admin_cannot_delete_vendor_passthru [0.053873s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_manager_can_set_maintenance [0.119872s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_owner_manager_cannot_delete_vendor_passthru [0.049149s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_005_lessee_admin_cannot_post_nodes [0.200167s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_216_owner_reader_cannot_delete_vendor_passthru [0.058040s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_084_lessee_admin_can_set_maintenance [0.137327s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_admin_can_get_node [0.112459s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4cf3f2ff-e4f0-433c-88a0-0795f380343e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca4ce180-fbb7-48b7-9845-2301f61b5df2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca4ce180-fbb7-48b7-9845-2301f61b5df2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d6fee1b-d8a4-4dbb-9554-e533a723bb2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d6fee1b-d8a4-4dbb-9554-e533a723bb2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a605d1cd-e84d-4ebe-af7d-7fc054272e6b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a605d1cd-e84d-4ebe-af7d-7fc054272e6b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6771e0c0-4caf-4ca5-9d51-252acb231f0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6771e0c0-4caf-4ca5-9d51-252acb231f0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a91c789a-a53b-4c88-a724-deade8e198df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a91c789a-a53b-4c88-a724-deade8e198df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4097d85b-c50f-4187-a589-8bb6bf9db94d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4097d85b-c50f-4187-a589-8bb6bf9db94d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f60f40f-717f-436a-985a-61e1a6331a46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f60f40f-717f-436a-985a-61e1a6331a46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_lessee_reader_cannot_delete_vendor_passthru [0.053153s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_lessee_reader_get_traits [0.055793s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_225_owner_manager_can_put_traits [0.055498s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba317c3b-c87e-4674-a5fe-973dd74fa90f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d0cb39c3-806f-496b-b487-49f73c053600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.528351+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-d0cb39c3-806f-496b-b487-49f73c053600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.528351+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14ccc8ef-e8b9-4d8a-abc6-d015519498e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-14ccc8ef-e8b9-4d8a-abc6-d015519498e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1f5540e-e089-4042-a006-f5bfb1be8ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.682921+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1f5540e-e089-4042-a006-f5bfb1be8ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:12.682921+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b11e09bd-21a1-451c-ac96-b5c9685706a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b11e09bd-21a1-451c-ac96-b5c9685706a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dd970bfd-7817-4551-b6f0-9d482b3b7343 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dd970bfd-7817-4551-b6f0-9d482b3b7343 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-47e84b30-0fe1-49a9-bd50-8f192eba00f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-47e84b30-0fe1-49a9-bd50-8f192eba00f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_211_drivers_driver_name_get_admin [0.449999s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_086_owner_member_can_set_maintenance [0.172276s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_admin_can_delete_traits [0.055325s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_properties_get_admin [0.141153s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_owner_manager_can_delete_traits [0.052551s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.071812s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_owner_admin_can_unset_maintenance [0.112396s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.057810s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_member_cannot_put_custom_traits [0.110746s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_090_owner_manager_can_unset_maintenance [0.064570s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.059435s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.054722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_lessee_manager_cannot_put_custom_traits [0.114663s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_member_can_get_node [0.437004s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_093_owner_member_can_unset_maintnenance [0.131221s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.067846s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_conductors_get_admin [0.060830s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_owner_reader_cannot_post_vifs [0.142996s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_094_lessee_member_cannot_unset_maintenance [0.144214s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df134124-8108-408d-9b16-1e5592e28240 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/b00fa575-7c99-411a-a6cf-394a959cb1e8 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b00fa575-7c99-411a-a6cf-394a959cb1e8 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da42f4f2-2581-4e0d-bf2d-c5aedff89ded X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b00fa575-7c99-411a-a6cf-394a959cb1e8", "created_at": "2024-09-19T19:58:12.965877+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/b00fa575-7c99-411a-a6cf-394a959cb1e8", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da42f4f2-2581-4e0d-bf2d-c5aedff89ded X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b00fa575-7c99-411a-a6cf-394a959cb1e8", "created_at": "2024-09-19T19:58:12.965877+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/b00fa575-7c99-411a-a6cf-394a959cb1e8", "rel": "self"}]} 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-a8ee3576-abea-48c0-8fdc-a5371300c431 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8ee3576-abea-48c0-8fdc-a5371300c431 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-c830b2dd-66aa-48bc-a9a4-0dd6f14db9e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c830b2dd-66aa-48bc-a9a4-0dd6f14db9e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b3aa9f4a-eecc-4261-b03d-0dd34cf02300 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "1a1f9603-aa3e-41ce-ab74-f775afd79289", "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-b3aa9f4a-eecc-4261-b03d-0dd34cf02300 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "1a1f9603-aa3e-41ce-ab74-f775afd79289", "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-e1311b74-9530-4436-8f97-ce0b9caeecfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "a500fd4a-de13-460b-8333-8d9a80ba9234", "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-e1311b74-9530-4436-8f97-ce0b9caeecfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "a500fd4a-de13-460b-8333-8d9a80ba9234", "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 {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_024_lessee_reader_can_get_their_node [0.100339s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_026_third_party_admin_cant_get_node [0.053077s] ... ok 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-500904ee-9338-48c9-94e9-e367ffcbc81b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-500904ee-9338-48c9-94e9-e367ffcbc81b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a4738109-0f30-4fd2-8c66-c1a6304542b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a4738109-0f30-4fd2-8c66-c1a6304542b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d1bed114-1546-48bb-ba84-d4721f67e0df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d1bed114-1546-48bb-ba84-d4721f67e0df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8e9e3f07-9a30-4a8b-8b99-a24f69d81829 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8e9e3f07-9a30-4a8b-8b99-a24f69d81829 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8f9b038-2e0f-4aaf-ab4a-68343462c52c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8f9b038-2e0f-4aaf-ab4a-68343462c52c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4f955a70-fb5a-4cb5-b4b5-1257f6e5e7a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4f955a70-fb5a-4cb5-b4b5-1257f6e5e7a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8b683529-5c19-4cba-aa58-9cf0f7660b58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8b683529-5c19-4cba-aa58-9cf0f7660b58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3ea332d0-ab41-4aef-8679-d6598f8dad18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3ea332d0-ab41-4aef-8679-d6598f8dad18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23005169-4fb6-4236-81d2-b67f2ab5b91a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_member [0.056374s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_member [0.064128s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6a18674-47e3-465f-bc1c-c827a028f5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:13.954612+00:00", "updated_at": "2024-09-19T19:58:13.966344+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d86735f7-21a2-4e2d-916d-a88eb197540b", "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": "d86735f7-21a2-4e2d-916d-a88eb197540b", "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-f6a18674-47e3-465f-bc1c-c827a028f5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:13.954612+00:00", "updated_at": "2024-09-19T19:58:13.966344+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d86735f7-21a2-4e2d-916d-a88eb197540b", "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": "d86735f7-21a2-4e2d-916d-a88eb197540b", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f8b84de6-83fa-4a2d-b21e-599ec9c6d5cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8b84de6-83fa-4a2d-b21e-599ec9c6d5cf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_can_get_detail [0.057993s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_owner_manager_can_patch_node_extra [0.100833s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.075411s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98bf0074-9b9f-4000-9a75-aeded35e77b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98bf0074-9b9f-4000-9a75-aeded35e77b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-86599422-3c1a-4cc1-8c74-c315043d62a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-86599422-3c1a-4cc1-8c74-c315043d62a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2be3be2-0b23-441e-80fe-7b9e607c1cf7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d2be3be2-0b23-441e-80fe-7b9e607c1cf7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2c7270cd-8d80-4b81-861f-33d20b5adbd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c7270cd-8d80-4b81-861f-33d20b5adbd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-72fe68d3-f24d-4f1b-868a-3f9dae15c430 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-72fe68d3-f24d-4f1b-868a-3f9dae15c430 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b3820ec9-90af-4b01-9224-3a0b033bfffd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3820ec9-90af-4b01-9224-3a0b033bfffd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4fb7f317-16e9-4514-be38-b048c8d09635 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fb7f317-16e9-4514-be38-b048c8d09635 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8cedfeb3-3194-44e8-85cc-43e16341824f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8cedfeb3-3194-44e8-85cc-43e16341824f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-4c2f0bd9-44bb-49f6-8c1d-67b3eda15446 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_lessee_manager_cannot_set_boot_device [0.178960s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.106736s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5371f314-9f97-4d07-b946-52d1862b7509 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5371f314-9f97-4d07-b946-52d1862b7509 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f1ea8f3b-e9d2-410d-bd6c-1d62fb7d730d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1ea8f3b-e9d2-410d-bd6c-1d62fb7d730d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-990489bf-c47f-49e3-b8f2-346cc4ed7c7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-990489bf-c47f-49e3-b8f2-346cc4ed7c7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b71597c-9c01-4981-9805-4ca2a9545863 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b71597c-9c01-4981-9805-4ca2a9545863 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f2b4e97a-fa7e-4cab-bb10-1cffbd0253e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f2b4e97a-fa7e-4cab-bb10-1cffbd0253e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-26fb5c27-bd12-447a-864d-17c0fc9a4813 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-26fb5c27-bd12-447a-864d-17c0fc9a4813 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2067661e-1836-4054-be15-7ace2abf9c22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2067661e-1836-4054-be15-7ace2abf9c22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-73e478d6-5cdf-41f6-a0b6-100eeb21b0d9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-73e478d6-5cdf-41f6-a0b6-100eeb21b0d9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9aac6543-db46-4a3a-8318-76aba58dbee9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_256_third_party_admin_cannot_post_vifs [0.190261s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_257_owner_admin_delete_vifs [0.134856s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_102_third_party_admin_cannot_set_boot_device [0.158073s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_nodes_allocation_get_admin [0.086042s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-76e97635-9499-4120-97bd-30282928fa70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:14.078138+00:00", "updated_at": "2024-09-19T19:58:14.084827+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "4b1b3497-33c8-4b2a-be2d-54a5b9765289", "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": "4b1b3497-33c8-4b2a-be2d-54a5b9765289", "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-76e97635-9499-4120-97bd-30282928fa70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:14.078138+00:00", "updated_at": "2024-09-19T19:58:14.084827+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "4b1b3497-33c8-4b2a-be2d-54a5b9765289", "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": "4b1b3497-33c8-4b2a-be2d-54a5b9765289", "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': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ead0c99c-3406-4bd6-84d8-1f12d967999f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ead0c99c-3406-4bd6-84d8-1f12d967999f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1d4d5667-f998-403e-aa37-d24e39e0c2ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_member_can_patch_node_extra [0.105008s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_036_lessee_admin_can_patch_node_extra [0.141177s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_observer [0.074724s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_261_owner_member_can_delete_vifs [0.143809s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_admin_cannot_get_boot_device [0.130504s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_member_can_patch_node_extra [0.115560s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23005169-4fb6-4236-81d2-b67f2ab5b91a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c1f45a8-00bf-4fe5-98cc-ee14bf09699a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2c1f45a8-00bf-4fe5-98cc-ee14bf09699a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/3dc82105-a5f8-406f-889c-c1b9de4c1151 PATCH: /v1/allocations/3dc82105-a5f8-406f-889c-c1b9de4c1151 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2bf1227-8506-498e-91d5-6292d16b2ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3dc82105-a5f8-406f-889c-c1b9de4c1151", "created_at": "2024-09-19T19:58:14.157047+00:00", "updated_at": "2024-09-19T19:58:14.204399+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/3dc82105-a5f8-406f-889c-c1b9de4c1151", "rel": "self"}, {"href": "http://localhost/allocations/3dc82105-a5f8-406f-889c-c1b9de4c1151", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2bf1227-8506-498e-91d5-6292d16b2ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3dc82105-a5f8-406f-889c-c1b9de4c1151", "created_at": "2024-09-19T19:58:14.157047+00:00", "updated_at": "2024-09-19T19:58:14.204399+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/3dc82105-a5f8-406f-889c-c1b9de4c1151", "rel": "self"}, {"href": "http://localhost/allocations/3dc82105-a5f8-406f-889c-c1b9de4c1151", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/9f2a6ce8-f01f-40c1-90f6-b3830aad5875 PATCH: /v1/allocations/9f2a6ce8-f01f-40c1-90f6-b3830aad5875 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0ccc701f-be13-4b92-9e0c-a2f0d6c91443 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0ccc701f-be13-4b92-9e0c-a2f0d6c91443 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"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-5c8655b3-5058-4a4b-a7fc-68c81ed3ff93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b9f54c05-f29e-4b57-8882-f097fb160658", "created_at": "2024-09-19T19:58:14.354103+00:00", "updated_at": "2024-09-19T19:58:14.361737+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b9f54c05-f29e-4b57-8882-f097fb160658", "rel": "self"}, {"href": "http://localhost/allocations/b9f54c05-f29e-4b57-8882-f097fb160658", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c8655b3-5058-4a4b-a7fc-68c81ed3ff93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b9f54c05-f29e-4b57-8882-f097fb160658", "created_at": "2024-09-19T19:58:14.354103+00:00", "updated_at": "2024-09-19T19:58:14.361737+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b9f54c05-f29e-4b57-8882-f097fb160658", "rel": "self"}, {"href": "http://localhost/allocations/b9f54c05-f29e-4b57-8882-f097fb160658", "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-737d2e16-a013-4fc6-a58a-cb162275ee8e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ffb933cc-11c9-429d-8799-3767d9167b5b", "created_at": "2024-09-19T19:58:14.432665+00:00", "updated_at": "2024-09-19T19:58:14.438232+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ffb933cc-11c9-429d-8799-3767d9167b5b", "rel": "self"}, {"href": "http://localhost/allocations/ffb933cc-11c9-429d-8799-3767d9167b5b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-737d2e16-a013-4fc6-a58a-cb162275ee8e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ffb933cc-11c9-429d-8799-3767d9167b5b", "created_at": "2024-09-19T19:58:14.432665+00:00", "updated_at": "2024-09-19T19:58:14.438232+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ffb933cc-11c9-429d-8799-3767d9167b5b", "rel": "self"}, {"href": "http://localhost/allocations/ffb933cc-11c9-429d-8799-3767d9167b5b", "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 {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_member [0.067530s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_lessee_member_cannot_set_indicator [0.119084s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_108_owner_reader_cannot_get_boot_device [0.116567s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_267_deploy_templates_post_admin [0.126373s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_member_can_patch_all_the_things [0.118093s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_member [0.064550s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_271_third_party_admin_cannot_set_indicator [0.119203s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_third_party_admin_cannot_get_boot_device [0.120649s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_044_owner_member_can_change_lessee [0.103466s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_observer [0.059179s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_owner [0.068277s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.065495s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_can_list_portgroups [0.130391s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_112_owner_manager_can_get_supported_boot_devices [0.126587s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_cannot_change_owner [0.074150s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_member [0.105819s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_can_list_portgroups [0.118379s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_retired [0.075819s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_113_owner_member_cannot_get_supported_boot_devices [0.117431s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.096797s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_third_part_admin_cannot_get_states [0.140878s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d4d5667-f998-403e-aa37-d24e39e0c2ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e33cef7b-2b3e-4856-a9f5-8dea29791fe4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e33cef7b-2b3e-4856-a9f5-8dea29791fe4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3db16fc-2222-4e17-95e5-6d683d8ae4bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3db16fc-2222-4e17-95e5-6d683d8ae4bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}, {'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-6a2d3477-216b-4cb6-b400-6f590df07b69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6a2d3477-216b-4cb6-b400-6f590df07b69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '198566a5-a609-4463-9800-e8920be7c2fa'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-366f7021-243f-4e1c-bf6b-c7dd172a37e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-366f7021-243f-4e1c-bf6b-c7dd172a37e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9fc2471b-2ff2-45b0-ae7e-06410251d953 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9fc2471b-2ff2-45b0-ae7e-06410251d953 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-75125e8c-1211-4c97-b472-2543ffbdc186 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75125e8c-1211-4c97-b472-2543ffbdc186 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-51a27828-254c-4c8f-a0df-40e58ee5afce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-51a27828-254c-4c8f-a0df-40e58ee5afce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}] {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_061_owner_manager_can_patch_node_instance_info [0.088106s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_third_party_admin_cannot_delete_nodes [0.063406s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_member_cannot_set_boot_device [0.082830s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_107_lessee_member_cannot_get_boot_device [0.075769s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_reader_cannot_get_boot_device [0.067294s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_111_owner_admin_can_get_supported_boot_devices [0.276518s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d3bbe59-21e1-43a4-98c5-36c4476ec4fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7d3bbe59-21e1-43a4-98c5-36c4476ec4fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/cfbc7734-9a6a-41e6-9155-47da46d82954 Openstack-Request-Id: req-d2bab98c-95e9-40a6-8b19-9c3187d05d1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "cfbc7734-9a6a-41e6-9155-47da46d82954", "created_at": "2024-09-19T19:58:14.664791+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cfbc7734-9a6a-41e6-9155-47da46d82954", "rel": "self"}, {"href": "http://localhost/deploy_templates/cfbc7734-9a6a-41e6-9155-47da46d82954", "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/cfbc7734-9a6a-41e6-9155-47da46d82954 Openstack-Request-Id: req-d2bab98c-95e9-40a6-8b19-9c3187d05d1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "cfbc7734-9a6a-41e6-9155-47da46d82954", "created_at": "2024-09-19T19:58:14.664791+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cfbc7734-9a6a-41e6-9155-47da46d82954", "rel": "self"}, {"href": "http://localhost/deploy_templates/cfbc7734-9a6a-41e6-9155-47da46d82954", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f5d256c4-d06e-47fa-9963-8ccbc087183b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f5d256c4-d06e-47fa-9963-8ccbc087183b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"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-45389ef9-e0a6-4318-a14b-160cdfa63b37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-45389ef9-e0a6-4318-a14b-160cdfa63b37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"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-96544991-e07e-4f47-80a2-4ffa8e5fd254 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:14.831115+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-96544991-e07e-4f47-80a2-4ffa8e5fd254 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:14.831115+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e9168b4-4c53-4d9a-9fc1-3873d37a233a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2e9168b4-4c53-4d9a-9fc1-3873d37a233a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-de4f212b-2318-4f3f-bc1d-bc8492f2ebb2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-de4f212b-2318-4f3f-bc1d-bc8492f2ebb2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.065911s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_303_node_history_get_entry_admin [0.161640s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_304_node_history_get_entry_member [0.156256s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_lessee_admin_can_post_nodes [0.203584s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9aac6543-db46-4a3a-8318-76aba58dbee9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cee4e74-74b0-459d-896e-603f4826e4c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cee4e74-74b0-459d-896e-603f4826e4c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-43ac2743-ab4a-4e88-a2ec-dcb65fc15dd5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-43ac2743-ab4a-4e88-a2ec-dcb65fc15dd5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae8eed62-be0f-4f43-859c-a95691bb3293 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae8eed62-be0f-4f43-859c-a95691bb3293 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"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-5a10068c-00b3-4098-bdf9-dd3f34c53629 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a10068c-00b3-4098-bdf9-dd3f34c53629 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dd3979de-d986-4c3a-98f2-d3f3009ca503 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dd3979de-d986-4c3a-98f2-d3f3009ca503 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ddec8b73-eb2e-454b-b7a7-cb30f7db1677 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ddec8b73-eb2e-454b-b7a7-cb30f7db1677 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-560aaa31-2053-4081-b316-7efcee9f5855 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_280_owner_member_cannot_add_portgroup [0.122849s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_lessee_manager_cannot_modify_portgroup [0.224019s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_298_third_party_admin_cannot_delete_portgroup [0.249058s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_303_lessee_reader_can_list_ports [0.228992s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_007_lessee_manager_cannot_post_nodes [0.226037s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_lessee_reader_can_read_port [0.114292s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c2f0bd9-44bb-49f6-8c1d-67b3eda15446 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-37de6a9a-d6bf-4dcf-97e7-951a2b147175 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-37de6a9a-d6bf-4dcf-97e7-951a2b147175 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd2ab04f-e8e4-403c-8566-adf49b5f1724 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd2ab04f-e8e4-403c-8566-adf49b5f1724 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-25619deb-d64b-4a7b-b226-452ba63bbd96 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-25619deb-d64b-4a7b-b226-452ba63bbd96 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ffe8d3f8-0613-40cb-bc7a-cc82a8e4c1a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ffe8d3f8-0613-40cb-bc7a-cc82a8e4c1a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f785e7ba-908f-40cc-9531-59b2a07099e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f785e7ba-908f-40cc-9531-59b2a07099e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-a71a3838-b421-4ceb-81e7-75e706a2d420 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a71a3838-b421-4ceb-81e7-75e706a2d420 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0cc8a847-53fa-4edc-bc6d-77517c190353 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0cc8a847-53fa-4edc-bc6d-77517c190353 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-3aba477c-9628-4d39-a58d-b58e581b4054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_member_can_get_node [0.064532s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_114_lessee_admin_cannot_get_supported_boot_devices [0.282636s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_lessee_manager_can_put_power_state_change [0.250529s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_third_party_admin_cannot_put_power_state_change [0.275399s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_manager_can_put_boot_mode_state_change [0.167058s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_member_can_put_boot_mode_state_change [0.113315s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_reader_can_get_node [0.095128s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_owner_manager_can_add_ports [0.116834s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_118_owner_manager_can_send_non_masking_interrupt [0.146435s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_139_lessee_member_can_put_boot_mode_state_change [0.138076s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_owner_manager_cannot_add_ports_to_other_nodes [0.150510s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_142_third_party_admin_cannot_put_boot_mode_state_change [0.128922s] ... ok 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-97f02995-98c1-43b7-95bc-78ad4ac4bfe1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97f02995-98c1-43b7-95bc-78ad4ac4bfe1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/4668fcbd-7e9f-4245-aac1-658049cb8d0b GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4668fcbd-7e9f-4245-aac1-658049cb8d0b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd815bc9-33ac-4ce2-a16f-adaf139d8b99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "4668fcbd-7e9f-4245-aac1-658049cb8d0b", "created_at": "2024-09-19T19:58:15.246942+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/4668fcbd-7e9f-4245-aac1-658049cb8d0b", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd815bc9-33ac-4ce2-a16f-adaf139d8b99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "4668fcbd-7e9f-4245-aac1-658049cb8d0b", "created_at": "2024-09-19T19:58:15.246942+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/4668fcbd-7e9f-4245-aac1-658049cb8d0b", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1604b7e9-7a5c-4a05-8817-ea589a5a21f6 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1604b7e9-7a5c-4a05-8817-ea589a5a21f6 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-afb821a9-3b32-4855-8de7-1e8a85265771 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-afb821a9-3b32-4855-8de7-1e8a85265771 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8281691f-9560-4807-829e-f656293f6469 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8281691f-9560-4807-829e-f656293f6469 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-ca50fd5c-376e-48d5-95ce-9f1c33df4f57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca50fd5c-376e-48d5-95ce-9f1c33df4f57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c738ce1b-e553-407c-abdc-e761a18cec05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "20f795be-f589-4aa5-a53f-e9597b378e5c", "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-c738ce1b-e553-407c-abdc-e761a18cec05 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "20f795be-f589-4aa5-a53f-e9597b378e5c", "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-b9d9c967-a6b2-4f69-b1bc-5c07096d84e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "8b97e95a-6214-4f91-a8c7-4fa62741459d", "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-b9d9c967-a6b2-4f69-b1bc-5c07096d84e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "8b97e95a-6214-4f91-a8c7-4fa62741459d", "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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_028_lessee_reader_cannot_get_restricted_fields [0.149410s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-97137d76-7ea6-4538-874a-7a3c39038fc3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-97137d76-7ea6-4538-874a-7a3c39038fc3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-817ab2bd-32a3-4966-8dc2-5da882fa9ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-817ab2bd-32a3-4966-8dc2-5da882fa9ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-9f532335-b62d-4248-a22f-234c7d13f9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9f532335-b62d-4248-a22f-234c7d13f9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1cbf0165-d15b-42a2-a29a-1209b1a11900 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1cbf0165-d15b-42a2-a29a-1209b1a11900 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac90f782-498b-4d3a-a8b7-de08e81b5b4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac90f782-498b-4d3a-a8b7-de08e81b5b4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4a4f77cf-a5dd-41ee-98b5-29289ac34916 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4a4f77cf-a5dd-41ee-98b5-29289ac34916 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4028e3a5-6e92-464e-af7b-fffe4244ba49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4028e3a5-6e92-464e-af7b-fffe4244ba49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-af110075-5980-43ac-9057-4a0b012f1146 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-af110075-5980-43ac-9057-4a0b012f1146 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_121_third_party_admin_cannot_send_non_masking_interrupt [0.140394s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_123_lessee_reader_get_states [0.076142s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_owner_admin_can_put_secure_boot_state_change [0.145227s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_126_owner_manager_can_put_power_state_change [0.078238s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-560aaa31-2053-4081-b316-7efcee9f5855 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cacae0a4-5806-4ad7-b869-36ce9cd88bcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cacae0a4-5806-4ad7-b869-36ce9cd88bcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-540db5d9-c734-4fb5-bec8-f2ae1fa74233 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-540db5d9-c734-4fb5-bec8-f2ae1fa74233 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-edc0d7cc-be0b-4669-ba42-8e5e69bc9c56 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-edc0d7cc-be0b-4669-ba42-8e5e69bc9c56 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9eb88ef7-4f98-487c-bfaf-8150fdb12f8b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:15.884712+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-9eb88ef7-4f98-487c-bfaf-8150fdb12f8b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:15.884712+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2ef2bd52-1aa3-429a-a7ba-90f1c7cb71e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2ef2bd52-1aa3-429a-a7ba-90f1c7cb71e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-956561b1-40f1-4b15-abe3-16f3a604ee35 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-956561b1-40f1-4b15-abe3-16f3a604ee35 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2bac3fd9-c248-4ae4-bee7-385247e09c10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_lessee_admin_cannot_add_port [0.146258s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_lessee_member_cannot_modify_port [0.128449s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afce2632-b798-40d4-889d-a911ca78ee4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:16.109469+00:00", "updated_at": "2024-09-19T19:58:16.132540+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "472bdf17-b708-4f43-a909-e5e8d680a62f", "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": "472bdf17-b708-4f43-a909-e5e8d680a62f", "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-afce2632-b798-40d4-889d-a911ca78ee4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:16.109469+00:00", "updated_at": "2024-09-19T19:58:16.132540+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "472bdf17-b708-4f43-a909-e5e8d680a62f", "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": "472bdf17-b708-4f43-a909-e5e8d680a62f", "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-5d8f20b8-13d6-4eab-8558-24fbdd25e353 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:16.248081+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:16.256195+00:00", "updated_at": "2024-09-19T19:58:16.281722+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "f8d45634-9f01-488e-9561-088acae12d20", "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": "f8d45634-9f01-488e-9561-088acae12d20", "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"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_detail [0.178891s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_127_lessee_admin_can_put_power_state_change [0.121014s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_032_owner_admin_can_patch_node_extra [0.173663s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_lessee_manager_can_put_boot_mode_state_change [0.069111s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_330_third_party_admin_cannot_delete_port [0.111189s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_reader_cannot_put_boot_mode_state_change [0.060769s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_reader_cannot_patch_node_extra [0.105353s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_lessee_member_can_put_secure_boot_state_change [0.071947s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_334_owner_reader_can_get_ports_by_portgroup [0.169342s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_owner_reader_cannot_put_secure_boot_state_change [0.058264s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_lessee_manager_can_put_secure_boot_state_change [0.479147s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_lessee_reader_can_get_ports_by_portgroup [0.165680s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1601d12-0de6-40d6-89bd-8d3095a4463c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e1601d12-0de6-40d6-89bd-8d3095a4463c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cc681f6-8640-4d10-94ce-dd2b6a523a30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0cc681f6-8640-4d10-94ce-dd2b6a523a30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9d6af921-94b7-4c37-93d7-6442b92e2915 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9d6af921-94b7-4c37-93d7-6442b92e2915 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8fbd00c4-b67e-4188-a2ba-10e89425b2a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8fbd00c4-b67e-4188-a2ba-10e89425b2a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fedb12fb-7c2f-4fe4-bb37-7aa529280d41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fedb12fb-7c2f-4fe4-bb37-7aa529280d41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e5c5fd31-ad42-4a71-8c89-0ca278dc8ee1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e5c5fd31-ad42-4a71-8c89-0ca278dc8ee1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-2faca7f1-952d-4b96-9a0e-52b447ffb059 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2faca7f1-952d-4b96-9a0e-52b447ffb059 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c95bd859-1d65-46e3-a502-74734c50a3e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c95bd859-1d65-46e3-a502-74734c50a3e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/secure_boot PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_reader_cannot_put_secure_boot_state_change [0.055155s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_owner_admin_can_change_provision_state [0.113806s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d8f20b8-13d6-4eab-8558-24fbdd25e353 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-19T19:58:16.248081+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-19T19:58:16.256195+00:00", "updated_at": "2024-09-19T19:58:16.281722+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "f8d45634-9f01-488e-9561-088acae12d20", "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": "f8d45634-9f01-488e-9561-088acae12d20", "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': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-819401e1-f55b-48c7-8321-394a772a5641 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-819401e1-f55b-48c7-8321-394a772a5641 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea343093-cf54-4270-8bce-f9711189ed65 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea343093-cf54-4270-8bce-f9711189ed65 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}] {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_lessee_manager_can_patch_node_extra [0.223243s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_041_owner_admin_can_change_drivers [0.150750s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3aba477c-9628-4d39-a58d-b58e581b4054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-656c9cfb-b6b2-4a40-8cf7-74682d07ee36 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-656c9cfb-b6b2-4a40-8cf7-74682d07ee36 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-a5259204-71b5-442d-ba75-7fd92d796c1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5259204-71b5-442d-ba75-7fd92d796c1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-06b2cb4a-9545-4910-9fb2-72606f53f324 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-06b2cb4a-9545-4910-9fb2-72606f53f324 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ca9a03c0-8f6b-4f61-b1ca-39f836f6e817 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ca9a03c0-8f6b-4f61-b1ca-39f836f6e817 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-412cc24f-8642-4286-84b6-8b5a75f9ee41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-412cc24f-8642-4286-84b6-8b5a75f9ee41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78a51143-b8f9-4ce2-81b4-cbc8b984f095 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78a51143-b8f9-4ce2-81b4-cbc8b984f095 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-097f8ff8-c30e-4db4-86f8-a98116041ae5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-097f8ff8-c30e-4db4-86f8-a98116041ae5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a063e36b-641e-45a1-a52b-d57a7a88e6eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_165_third_party_admin_cannot_set_raid_config [0.120048s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_owner_manager_can_post_volume_connector [0.138485s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_member_can_put_secure_boot_state_change [0.142428s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_lessee_manager_cannot_set_raid_config [0.118156s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_166_owner_admin_can_get_console [0.078570s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_045_lessee_admin_cannot_change_lessee [0.114006s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_admin_cannot_get_console [0.069968s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_third_party_admin_cannot_post_volume_connector [0.154968s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_046_lessee_manager_cannot_change_lessee [0.108117s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_lessee_member_cannot_get_console [0.056307s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_lessee_admin_cannot_set_console [0.150804s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_owner_reader_cannot_get_console [0.074737s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_manager_can_patch_volume_connectors [0.125645s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_180_lessee_member_cannot_set_console [0.112129s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_owner [0.131709s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_third_party_admin_cannot_get_console [0.077990s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_get_vendor_passthru_methods [0.124025s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2bac3fd9-c248-4ae4-bee7-385247e09c10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-750514b9-15c3-419f-97db-01186be23a3f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-750514b9-15c3-419f-97db-01186be23a3f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c1d7870d-279f-4208-875d-f8ec4154a8e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c1d7870d-279f-4208-875d-f8ec4154a8e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"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-8173a567-1c00-4249-bba6-9f2d6aac5b9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8173a567-1c00-4249-bba6-9f2d6aac5b9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-78831de8-4e14-4b6d-bc60-c08f4c4d19e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78831de8-4e14-4b6d-bc60-c08f4c4d19e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/721317bb-67f5-45ad-a898-cd2b7ca79f1e Openstack-Request-Id: req-0ce4fb72-1c70-419c-9079-4fce5df6ee22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "721317bb-67f5-45ad-a898-cd2b7ca79f1e", "created_at": "2024-09-19T19:58:17.054144+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/721317bb-67f5-45ad-a898-cd2b7ca79f1e", "rel": "self"}, {"href": "http://localhost/volume/connectors/721317bb-67f5-45ad-a898-cd2b7ca79f1e", "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/721317bb-67f5-45ad-a898-cd2b7ca79f1e Openstack-Request-Id: req-0ce4fb72-1c70-419c-9079-4fce5df6ee22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "721317bb-67f5-45ad-a898-cd2b7ca79f1e", "created_at": "2024-09-19T19:58:17.054144+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/721317bb-67f5-45ad-a898-cd2b7ca79f1e", "rel": "self"}, {"href": "http://localhost/volume/connectors/721317bb-67f5-45ad-a898-cd2b7ca79f1e", "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-7cbe3a8b-5a0c-4fef-b397-6ad77f6bfc02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7cbe3a8b-5a0c-4fef-b397-6ad77f6bfc02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-54b75266-d8d2-4076-a3a7-505280668c56 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-54b75266-d8d2-4076-a3a7-505280668c56 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e34a0906-e701-4e27-9131-b7bc3ac6d679 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_358_lessee_manager_can_delete_volume_connectors [0.116557s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e2f7b9a5-ec5c-44dd-ac60-3bfc001b7d4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e2f7b9a5-ec5c-44dd-ac60-3bfc001b7d4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-57d65dac-2c3c-40dd-afba-b51b9ab74131 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-57d65dac-2c3c-40dd-afba-b51b9ab74131 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b88af9c4-8a51-462a-8f01-cf184199a15d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b88af9c4-8a51-462a-8f01-cf184199a15d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-85c90dc2-1289-4397-94a0-87ff98dbb665 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-85c90dc2-1289-4397-94a0-87ff98dbb665 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff2c631c-7e6f-4eeb-8a7a-b12281acaac5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff2c631c-7e6f-4eeb-8a7a-b12281acaac5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d4355618-e5e4-4fb8-b88e-22d5131ea33c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d4355618-e5e4-4fb8-b88e-22d5131ea33c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b3156703-1908-422a-8ddb-52e4221a9dbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b3156703-1908-422a-8ddb-52e4221a9dbb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-20333b73-56e7-4db8-ae5b-ff1ada720149 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-20333b73-56e7-4db8-ae5b-ff1ada720149 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_178_lessee_manager_cannot_set_console [0.054259s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_owner_admin_cannot_get_vendor_passthru_methods [0.065565s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_owner_admin_can_change_lessee [0.187937s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_370_third_party_admin_cannot_create_volume_target [0.147186s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_lessee_admin_cannot_get_vendor_passthru [0.131896s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_get_vendor_passthru_methods [0.119578s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_lessee_member_cannot_get_vendor_passthru_methods [0.060972s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_owner_manager_can_delete_volume_target [0.117285s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_owner_admin_cannot_post_vendor_passthru [0.124403s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_owner_member_cannot_get_vendor_passthru [0.057187s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_owner_manager_can_change_lessee [0.219321s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_owner_manager_cannot_post_vendor_passthru [0.059223s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_lessee_member_cannot_post_vendor_passthru [0.095244s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_owner_reader_can_get_volume_connectors [0.145082s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_owner_member_cannot_post_vendor_passthru [0.062275s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_network_data [0.132106s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_lessee_reader_cannot_post_vendor_passthru [0.051528s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a063e36b-641e-45a1-a52b-d57a7a88e6eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e3b9e27b-8ede-4bff-8ce8-b1b6b7c44f29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e3b9e27b-8ede-4bff-8ce8-b1b6b7c44f29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-596a3498-1151-4003-aad0-c241cfbcf575 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-596a3498-1151-4003-aad0-c241cfbcf575 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/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-d2baf5bf-3185-4a18-a9e4-8a1233f0a6a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2baf5bf-3185-4a18-a9e4-8a1233f0a6a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-07a7294a-de41-4cc3-998b-85d4cd9a5b6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-07a7294a-de41-4cc3-998b-85d4cd9a5b6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5fea9041-6e37-4a8f-bcb5-c4809b70957e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5fea9041-6e37-4a8f-bcb5-c4809b70957e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a7327550-b66e-4437-b048-f57955a7085f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a7327550-b66e-4437-b048-f57955a7085f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f5a8a7d-1404-4a8f-a83c-f9e9712ce965 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f5a8a7d-1404-4a8f-a83c-f9e9712ce965 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_owner_manager_cannot_put_vendor_passthru [0.052382s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_owner_member_cannot_put_vendor_passthru [0.057974s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_lessee_reader_can_get_node_volume_connectors [0.170857s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_212_lessee_reader_cannot_put_vendor_passthru [0.092439s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0cb4e5d2-ba2f-481d-90c8-a149f9b182b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0cb4e5d2-ba2f-481d-90c8-a149f9b182b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ce105c4-49de-4205-a7d4-e2dad6b8e5e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ce105c4-49de-4205-a7d4-e2dad6b8e5e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f38d6ef0-9e97-4287-868b-4ff38d4a2d42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f38d6ef0-9e97-4287-868b-4ff38d4a2d42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-058e8ee5-ccb1-4e5c-a843-1648e233b28b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-058e8ee5-ccb1-4e5c-a843-1648e233b28b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c54624ae-1d8b-430d-9765-7c759cbabcb1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c54624ae-1d8b-430d-9765-7c759cbabcb1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11664ea3-22e9-410a-81b5-328d557d4d65 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11664ea3-22e9-410a-81b5-328d557d4d65 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d662d2b8-9962-40d3-b48e-113a1bf2c90f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d662d2b8-9962-40d3-b48e-113a1bf2c90f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-53225cc4-9385-4a12-bf94-a70709a2573d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-53225cc4-9385-4a12-bf94-a70709a2573d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_lessee_admin_cannot_put_vendor_passthru [0.054141s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_210_lessee_manager_cannot_put_vendor_passthru [0.073253s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_lessee_manager_cannot_delete_vendor_passthru [0.059628s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e809042a-6cda-4232-a8a0-a4596a1d93da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e809042a-6cda-4232-a8a0-a4596a1d93da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0125d6b-1582-4a1c-b0bb-d8dd45d61de1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0125d6b-1582-4a1c-b0bb-d8dd45d61de1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9412db4-67f1-4087-9a45-f639d95a8f1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f9412db4-67f1-4087-9a45-f639d95a8f1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '/lessee', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aef1f6bb-be31-493c-996e-0dd0d0276ad7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aef1f6bb-be31-493c-996e-0dd0d0276ad7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-946bebeb-aa29-40a8-ad70-f655c18f54d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-946bebeb-aa29-40a8-ad70-f655c18f54d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-5be78cc6-b454-4dfc-9a36-6a3593fe65fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5be78cc6-b454-4dfc-9a36-6a3593fe65fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-30b671a7-c1a5-46a0-8556-0b6f3e012d50 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-30b671a7-c1a5-46a0-8556-0b6f3e012d50 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d691501e-6960-4274-bc5f-4d380690bc1a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d691501e-6960-4274-bc5f-4d380690bc1a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}] {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_060_owner_admin_can_patch_node_instance_info [0.156968s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_admin_cannot_delete_vendor_passthru [0.107236s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_219_lessee_member_cannot_delete_vendor_passthru [0.085026s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_lessee_reader_can_get_node_volume_targets [0.184814s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_064_lessee_admin_can_patch_node_instance_info [0.163022s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_221_owner_reader_get_traits [0.064704s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_third_party_admin_cannot_get_traits [0.104214s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_226_owner_member_cannot_put_traits [0.069478s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_member_cannot_patch_node_instance_info [0.107546s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_third_party_admin_cannot_get_drivers [0.137688s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_224_owner_admin_can_put_traits [0.091881s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_lessee_admin_cannot_put_traits [0.070023s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_068_third_party_admin_cannot_patch_node_instance_info [0.061810s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_lessee_manager_cannot_delete_nodes [0.051724s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_236_lessee_member_cannot_delete_traits [0.100330s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_085_lessee_manager_can_set_maintenance [0.059439s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_owner_admin_can_put_custom_traits [0.110878s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fc6a9287-0862-4120-b001-3250765511f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fc6a9287-0862-4120-b001-3250765511f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-189e3a7e-47fc-4d7f-8cad-fedfd93a38e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-189e3a7e-47fc-4d7f-8cad-fedfd93a38e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e4710624-cbd6-478e-9a44-c671f3eaefe5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e4710624-cbd6-478e-9a44-c671f3eaefe5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-63d16355-10e4-42bb-b9cb-2415d0e9f969 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-63d16355-10e4-42bb-b9cb-2415d0e9f969 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1e616a35-9937-436e-a47a-cb4520fde264 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1e616a35-9937-436e-a47a-cb4520fde264 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-060bb70c-8b82-4f15-9846-42c7df554da8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-060bb70c-8b82-4f15-9846-42c7df554da8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": []} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-30bd4ffb-6ef4-4949-ad73-99034032024e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-30bd4ffb-6ef4-4949-ad73-99034032024e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f8d4676-e5e8-42b0-b492-2c8a2d84f2c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2f8d4676-e5e8-42b0-b492-2c8a2d84f2c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_lessee_member_cannot_put_traits [0.089017s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_third_party_admin_cannot_put_traits [0.067261s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_owner_member_cannot_delete_traits [0.065320s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e34a0906-e701-4e27-9131-b7bc3ac6d679 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '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-c673c272-912e-4990-b346-e48c9c513773 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c673c272-912e-4990-b346-e48c9c513773 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-735bd216-d095-49bc-b100-72bed6356171 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-735bd216-d095-49bc-b100-72bed6356171 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-3d6725e0-66c6-48dc-a070-5d7d4c87c049 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3d6725e0-66c6-48dc-a070-5d7d4c87c049 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c894b041-7b0a-416d-8ebe-4b60f121401a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c894b041-7b0a-416d-8ebe-4b60f121401a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/targets GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b0564b7b-92ae-4f0c-95c8-51861e9b1a28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0564b7b-92ae-4f0c-95c8-51861e9b1a28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7f685b71-1063-45f4-9ca8-ec28150196d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f685b71-1063-45f4-9ca8-ec28150196d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_lessee_reader_cannot_get_drivers_vendor_passthru [0.176394s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_087_lessee_member_cannot_set_maintenance [0.133384s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_lessee_reader_cannot_get_conductors [0.137542s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_manager_cannot_delete_traits [0.060198s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_member_cannot_put_custom_traits [0.100827s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_manager_can_put_custom_traits [0.066694s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_404_lessee_reader_can_get_their_allocation [0.075735s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_091_lessee_admin_can_unset_maintenance [0.106465s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_409_owner_member_can_delete_their_allocation [0.062772s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_owner_reader_get_vifs [0.073100s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-455a5218-910c-4a4c-a856-45fc113f787c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-455a5218-910c-4a4c-a856-45fc113f787c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f6ded0f9-0150-4f1e-a03f-b1e0e3210942 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f6ded0f9-0150-4f1e-a03f-b1e0e3210942 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2d930e1c-0ec7-40be-bc02-af7dd8226c5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2d930e1c-0ec7-40be-bc02-af7dd8226c5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0466fd57-bb06-4d77-81e3-d84c207bd747 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0466fd57-bb06-4d77-81e3-d84c207bd747 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0217d14-6fc4-4e79-a354-a5f50ce12447 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0217d14-6fc4-4e79-a354-a5f50ce12447 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-7152a10b-f4a1-445b-855e-6394333441c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7152a10b-f4a1-445b-855e-6394333441c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0c557470-e065-4f97-8126-e74625cc053d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0c557470-e065-4f97-8126-e74625cc053d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e098a6f4-677b-431e-970b-d63c8bb63f3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e098a6f4-677b-431e-970b-d63c8bb63f3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_third_party_admin_cannot_put_custom_traits [0.108302s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_417_owner_admin_can_create_allocation_with_their_uuid [0.092465s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_manager_can_post_vifs [0.122528s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_248_owner_admin_can_post_vifs [0.099297s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-90702327-199b-4e77-a570-f3968fd1ee52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-90702327-199b-4e77-a570-f3968fd1ee52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81e0873f-e7fd-4a13-a08e-8b68b0d29540 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81e0873f-e7fd-4a13-a08e-8b68b0d29540 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6433bf84-bed6-4c76-b446-fe557b718a74 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6433bf84-bed6-4c76-b446-fe557b718a74 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-eb9ceb73-6783-41c7-b586-e58cb9bb4243 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb9ceb73-6783-41c7-b586-e58cb9bb4243 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-433316d1-9f45-4838-997d-ddd285b15e46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-433316d1-9f45-4838-997d-ddd285b15e46 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-342531c5-3380-4026-b475-4717e856f36d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-342531c5-3380-4026-b475-4717e856f36d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a1b9388-3487-49ea-9671-d3390d1edc63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a1b9388-3487-49ea-9671-d3390d1edc63 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-488a546b-68c2-4f0a-9af9-5545bb44373d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-488a546b-68c2-4f0a-9af9-5545bb44373d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_092_lessee_manager_can_unset_maintenance [0.127421s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_419_third_party_admin_cannot_read_an_allocation [0.093596s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_095_third_party_admin_cannot_unset_maintenance [0.118885s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_251_lessee_manager_can_post_vifs [0.094963s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_252_owner_member_can_post_vifs [0.109001s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_421_third_party_admin_cannot_delete_an_allocation [0.102514s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_lessee_member_cannot_post_vifs [0.096138s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40207a1a-3369-46ec-b639-9feb3a2dd70e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-40207a1a-3369-46ec-b639-9feb3a2dd70e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6500e42-afdd-4f71-a550-b59f0a7f4ccf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6500e42-afdd-4f71-a550-b59f0a7f4ccf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fc4ba04a-2ca6-49a9-8c20-0355bb21c9f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fc4ba04a-2ca6-49a9-8c20-0355bb21c9f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52c1fa39-5022-42fd-903d-962fcaf01aad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52c1fa39-5022-42fd-903d-962fcaf01aad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-104916cf-a2d2-492e-87bf-c42e1f822a52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-104916cf-a2d2-492e-87bf-c42e1f822a52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-cd8232d0-5f75-4654-b236-75637b3c3faa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd8232d0-5f75-4654-b236-75637b3c3faa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cac83870-dd9b-48a4-8007-9beda45925b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cac83870-dd9b-48a4-8007-9beda45925b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-61d50e69-f819-4057-a9a0-97851bf51252 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-61d50e69-f819-4057-a9a0-97851bf51252 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_255_lessee_reader_cannot_post_vifs [0.056782s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_258_owner_manager_delete_vifs [0.074480s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_096_owner_admin_can_set_boot_device [0.144402s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_lessee_admin_can_delete_vifs [0.071095s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_260_lessee_manager_can_delete_vifs [0.105594s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-632d3a29-9e0a-4763-af0a-873fdb6ef3a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-632d3a29-9e0a-4763-af0a-873fdb6ef3a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f2828768-c5cb-4f3f-8ece-cd4d2cf268d0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f2828768-c5cb-4f3f-8ece-cd4d2cf268d0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/d4f43dd7-ee40-411b-b9a0-19cd37af1f29 GET: /v1/allocations/d4f43dd7-ee40-411b-b9a0-19cd37af1f29 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0faf9cc6-423f-4085-a752-191f1c258c3a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "created_at": "2024-09-19T19:58:18.734997+00:00", "updated_at": "2024-09-19T19:58:18.736411+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "rel": "self"}, {"href": "http://localhost/allocations/d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "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-0faf9cc6-423f-4085-a752-191f1c258c3a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "created_at": "2024-09-19T19:58:18.734997+00:00", "updated_at": "2024-09-19T19:58:18.736411+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "rel": "self"}, {"href": "http://localhost/allocations/d4f43dd7-ee40-411b-b9a0-19cd37af1f29", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path delete /v1/allocations/e22405f9-f99a-4c86-9460-d8b95c3739dd DELETE: /v1/allocations/e22405f9-f99a-4c86-9460-d8b95c3739dd GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-04ebbbbb-9077-48b2-83de-84dd0660e741 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-04ebbbbb-9077-48b2-83de-84dd0660e741 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6540e829-80c9-465e-a4d5-54bda8bceccf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6540e829-80c9-465e-a4d5-54bda8bceccf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/51e182b4-a9fd-49fa-88bd-fc109bcc6353 GET: /v1/allocations/51e182b4-a9fd-49fa-88bd-fc109bcc6353 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aafa92a-845c-4cef-a722-faf49068ceb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 51e182b4-a9fd-49fa-88bd-fc109bcc6353 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aafa92a-845c-4cef-a722-faf49068ceb7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 51e182b4-a9fd-49fa-88bd-fc109bcc6353 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/9bbecaa0-1218-41fc-a818-a0a40024ea87 DELETE: /v1/allocations/9bbecaa0-1218-41fc-a818-a0a40024ea87 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7bd5f76b-133a-4c22-9be1-dc30747aa6f9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9bbecaa0-1218-41fc-a818-a0a40024ea87 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7bd5f76b-133a-4c22-9be1-dc30747aa6f9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9bbecaa0-1218-41fc-a818-a0a40024ea87 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_426_owner_manager_can_delete_allocation [0.082191s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_431_lessee_reader_cannot_get_deploy_templates [0.058781s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_432_third_party_admin_cannot_get_deploy_templates [0.059543s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_097_owner_manager_can_set_boot_device [0.163477s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_member_cannot_delete_vifs [0.105518s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_433_third_party_admin_cannot_post_deploy_template [0.059944s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_264_owner_readers_can_get_indicators [0.058463s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_lessee_reader_cannot_access_chassis [0.054732s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_268_lessee_reader_not_get_indicator_status ... 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_103_owner_admin_can_get_boot_device [0.129924s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_node_history_get_reader [0.075803s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_list_portgroups [0.068388s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_reader_can_read_portgroup [0.055509s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_104_owner_manager_can_get_boot_device [0.122182s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_node_history_get_entry_admin [0.118249s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_owner_member_cannot_get_boot_device [0.110499s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_263_third_party_admin_cannot_delete_vifs [0.467851s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5298a882-64f5-41c7-9e05-9ea7a0844041 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5298a882-64f5-41c7-9e05-9ea7a0844041 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-36fdbeee-0dc5-443c-9b39-d7eefc03862a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-36fdbeee-0dc5-443c-9b39-d7eefc03862a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-287a9b83-4f86-41da-b32d-bb5a566b73af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-287a9b83-4f86-41da-b32d-bb5a566b73af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1214f347-052a-432e-927e-b6ecdbfecfb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1214f347-052a-432e-927e-b6ecdbfecfb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5ebf01fd-1fcd-4f9b-aa1b-3a387ae750d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ebf01fd-1fcd-4f9b-aa1b-3a387ae750d1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-555c7ce0-bb09-401e-ba31-ea5455179002 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-555c7ce0-bb09-401e-ba31-ea5455179002 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": []} API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5853a55f-7f7f-4406-9ec4-0b17167ba6c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-09-19T19:58:19.543089+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-5853a55f-7f7f-4406-9ec4-0b17167ba6c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-09-19T19:58:19.543089+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 post /v1/portgroups POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_owner_manager_can_add_portgroup [0.062869s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_lessee_admin_cannot_add_portgroup [0.064906s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_owner_manager_can_modify_portgroup [0.065512s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_lessee_manager_cannot_get_supported_boot_devices [0.109720s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.090651s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_265_lesse_readers_can_get_indicators [0.121134s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_287_owner_member_cannot_modify_portgroup [0.069008s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_owner_manager_can_delete_portgroup [0.054801s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_294_owner_member_cannot_delete_portgroup [0.061613s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3579a5a-8530-4115-953c-918137b36c69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3579a5a-8530-4115-953c-918137b36c69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f87f883a-ba71-4bc3-ac9b-57e36cb7c5aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f87f883a-ba71-4bc3-ac9b-57e36cb7c5aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f82db18-00ef-4a8e-b4fd-26fc557b4608 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f82db18-00ef-4a8e-b4fd-26fc557b4608 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2094e971-b9f4-4e9e-812f-400a4fbc6bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2094e971-b9f4-4e9e-812f-400a4fbc6bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-310706e7-ec2f-4bcd-b0d5-8798d3d44fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-310706e7-ec2f-4bcd-b0d5-8798d3d44fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b945985e-b69f-4d86-b32c-ac5296a500d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "7fa47b6c-2298-45c8-8403-03c3907eb66e", "created_at": "2024-09-19T19:58:19.462515+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7fa47b6c-2298-45c8-8403-03c3907eb66e", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b945985e-b69f-4d86-b32c-ac5296a500d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "7fa47b6c-2298-45c8-8403-03c3907eb66e", "created_at": "2024-09-19T19:58:19.462515+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7fa47b6c-2298-45c8-8403-03c3907eb66e", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7e171f58-d1f9-4097-a5e5-ac85f3e861b2 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7e171f58-d1f9-4097-a5e5-ac85f3e861b2 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b59dcc0c-271d-402b-af63-760e003a38a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b59dcc0c-271d-402b-af63-760e003a38a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 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-4e8708ac-6ad1-489a-93a6-aa4708d8d0f8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.090334s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-93d2b3e1-5c3b-432f-8bd9-44491fdb76e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-93d2b3e1-5c3b-432f-8bd9-44491fdb76e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7114a9a9-70c1-43ca-b071-c56483f619ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7114a9a9-70c1-43ca-b071-c56483f619ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d6373b0b-41dc-4471-bc42-493a7d31de28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d6373b0b-41dc-4471-bc42-493a7d31de28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eed0a2e1-1587-4cd2-9ef2-bfc59000f544 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eed0a2e1-1587-4cd2-9ef2-bfc59000f544 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-04a7faf0-cf07-4697-803d-a22fdce695ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-04a7faf0-cf07-4697-803d-a22fdce695ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e148b959-8345-468d-bdd3-13fb42bb0ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e148b959-8345-468d-bdd3-13fb42bb0ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a246a59-7952-4ad2-98cb-62a060849559 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a246a59-7952-4ad2-98cb-62a060849559 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f4fd6881-3e60-48d3-bff3-4bdc7495ef34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f4fd6881-3e60-48d3-bff3-4bdc7495ef34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_296_lessee_manager_cannot_delete_portgroup [0.066282s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_admin_can_send_non_masking_interrupt [0.140158s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.118395s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_third_party_admin_cannot_read_portgroup [0.135548s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_admin_cannot_send_non_masking_interrupt [0.132291s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.118711s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11 Openstack-Request-Id: req-e365fe33-716e-461a-bb4d-bdab2807c08b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "created_at": "2024-09-19T19:58:19.623660+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/9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "rel": "self"}, {"href": "http://localhost/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11 Openstack-Request-Id: req-e365fe33-716e-461a-bb4d-bdab2807c08b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "created_at": "2024-09-19T19:58:19.623660+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/9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "rel": "self"}, {"href": "http://localhost/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11/ports", "rel": "self"}, {"href": "http://localhost/portgroups/9ee9ba90-3194-4c3a-9c48-32cce62c0c11/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-d6989a70-fba5-4b33-a325-b6ee2fdb47a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d6989a70-fba5-4b33-a325-b6ee2fdb47a6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d49038b3-38e9-4d21-88fd-2a86aae87d2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d49038b3-38e9-4d21-88fd-2a86aae87d2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d12fdcd6-cb08-4531-bab0-82617fc38919 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d12fdcd6-cb08-4531-bab0-82617fc38919 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fb0181d9-9042-4350-8034-179bf03daff5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fb0181d9-9042-4350-8034-179bf03daff5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-03a715c1-97c3-49e4-9e0e-7b4c195746c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-03a715c1-97c3-49e4-9e0e-7b4c195746c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ca408306-8f2d-4c48-a545-4a61a0ea32b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca408306-8f2d-4c48-a545-4a61a0ea32b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_297_lessee_member_cannot_delete_portgroup [0.066542s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_lessee_manager_cannot_send_non_masking_interrupt [0.110566s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.061613s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_owner_admin_cannot_add_ports_to_other_nodes [0.137596s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88de4095-0e85-4e1c-8f8a-44a4b9180d93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88de4095-0e85-4e1c-8f8a-44a4b9180d93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bba3ca1-c2d2-4d9f-856a-012d22e9c8e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bba3ca1-c2d2-4d9f-856a-012d22e9c8e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1c3d7c0f-2a6b-48b1-aec0-9f74f675754a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1c3d7c0f-2a6b-48b1-aec0-9f74f675754a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-02f33f13-29d6-4288-8cb1-9a17d881a518 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-02f33f13-29d6-4288-8cb1-9a17d881a518 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9e76b550-d2d3-4d72-995b-859cc436ac71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9e76b550-d2d3-4d72-995b-859cc436ac71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12656b84-7833-40d7-aa06-b81b87f14d72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12656b84-7833-40d7-aa06-b81b87f14d72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/indicators GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3f2e09f3-98b3-4616-8504-8dbce64a7c67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3f2e09f3-98b3-4616-8504-8dbce64a7c67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} 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-0defbbe5-d277-4e60-894c-b1ff59fb2dfb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0defbbe5-d277-4e60-894c-b1ff59fb2dfb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_284_third_party_admin_cannot_add_portgroup [0.120052s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.083375s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_owner_admin_can_put_power_state_change [0.117796s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_288_lessee_admin_cannot_modify_portgroup [0.136894s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_owner_member_cannot_add_port [0.128119s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.084792s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_lessee_admin_cannot_modify_port [0.063263s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_admin_can_put_boot_mode_state_change [0.120365s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_291_third_party_admin_cannot_modify_portgroup [0.137374s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_owner_admin_can_delete_port [0.058513s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_owner_manager_can_delete_port [0.056110s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_140_owner_reader_cannot_put_boot_mode_state_change [0.110585s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_lessee_admin_cannot_delete_portgroup [0.117623s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_owner_member_cannot_delete_port [0.057859s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_lessee_admin_cannot_delete_port [0.054779s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_admin_can_put_secure_boot_state_change [0.108437s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_314_lessee_manager_cannot_add_port [0.111413s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.310198s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8a7a96a8-3820-4741-8d3f-bfa33b0c462c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a7a96a8-3820-4741-8d3f-bfa33b0c462c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"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-2310d572-fd47-4045-a4a2-bd3468291413 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2310d572-fd47-4045-a4a2-bd3468291413 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-373a6294-cfa8-4c40-972a-1d932bfcc10c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-373a6294-cfa8-4c40-972a-1d932bfcc10c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8ed14c32-0c0a-44f7-bef6-e70477a7157d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8ed14c32-0c0a-44f7-bef6-e70477a7157d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d459f664-f00c-4201-a09e-5550b853b5ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d459f664-f00c-4201-a09e-5550b853b5ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-234bb1eb-83ec-49ba-9e61-217134ec7210 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-234bb1eb-83ec-49ba-9e61-217134ec7210 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-7c18fb08-d024-4315-a301-bc32a1f08e6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7c18fb08-d024-4315-a301-bc32a1f08e6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d711b294-4432-4114-954c-4e07e493915b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d711b294-4432-4114-954c-4e07e493915b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24c92ccb-6f2d-4ad1-892e-a11a262274c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_member_cannot_delete_port [0.059690s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_333_third_party_admin_cannot_get_ports [0.063625s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.109494s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_lessee_member_cannot_add_port [0.122101s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_third_party_admin_cannot_get_connector_list [0.068348s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.067230s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_owner_reader_can_get_volume_connector [0.083495s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.050296s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_owner_member_cannot_modify_port [0.119287s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_349_owner_admin_can_patch_volume_connectors [0.070221s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_observer [0.080231s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_manager_can_patch_volume_connectors [0.058772s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_third_party_admin_cannot_put_secure_boot_state_change [0.410016s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_lessee_manager_cannot_modify_port [0.131552s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_member [0.103736s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_lessee_admin_cannot_patch_volume_connectors [0.072843s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_member [0.098600s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c4d547e-217a-41cd-80ff-c710e8a1c13d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1c4d547e-217a-41cd-80ff-c710e8a1c13d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-71342031-bace-4d0f-99d1-8e44f4944d22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-71342031-bace-4d0f-99d1-8e44f4944d22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-83b3cc08-a151-4923-b96a-4c43e3512a52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-83b3cc08-a151-4923-b96a-4c43e3512a52 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4ed8ba40-87ac-4855-9991-d539302f131c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4ed8ba40-87ac-4855-9991-d539302f131c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"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-52ed68cb-9ca8-4581-8c78-0433eb40dba9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52ed68cb-9ca8-4581-8c78-0433eb40dba9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb562d25-0eec-448f-8a3e-1b116b559c0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb562d25-0eec-448f-8a3e-1b116b559c0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55303ba6-1cd7-471b-a694-59057fe7e9ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-55303ba6-1cd7-471b-a694-59057fe7e9ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-825d6e58-4346-4e2f-9fca-78d837ea281f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-825d6e58-4346-4e2f-9fca-78d837ea281f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_328_lessee_manager_cannot_delete_port [0.119103s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_342_lessee_admin_cannot_post_volume_connector [0.124189s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f252fe3a-174d-46d9-b81b-78fca4980155 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f252fe3a-174d-46d9-b81b-78fca4980155 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-e102f5a6-1dcf-40fd-9915-2d2236b859e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e102f5a6-1dcf-40fd-9915-2d2236b859e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-a0e20c87-fd8c-4513-993e-381bce483ebb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a0e20c87-fd8c-4513-993e-381bce483ebb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-ce98a9cf-2bfd-451c-8abd-d08674f70a71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce98a9cf-2bfd-451c-8abd-d08674f70a71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-733c482c-e013-4628-ad40-59616a9fa0e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-733c482c-e013-4628-ad40-59616a9fa0e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e622d92f-89ed-4e6f-9cc2-b12af1ac6432 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e622d92f-89ed-4e6f-9cc2-b12af1ac6432 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-fd1a5f6e-1934-49f9-872a-c3609f627cf9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fd1a5f6e-1934-49f9-872a-c3609f627cf9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25036851-00d5-453e-9b1d-e20d8382471b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-25036851-00d5-453e-9b1d-e20d8382471b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_owner_member_can_change_provision_state [0.116520s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_lessee_admin_can_change_provision_state [0.106946s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24c92ccb-6f2d-4ad1-892e-a11a262274c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d98c80b5-f1e9-433c-b19c-46ffcdd08fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d98c80b5-f1e9-433c-b19c-46ffcdd08fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f 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-2aed9f66-9e5a-4711-a092-ba93b68af96e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"connectors": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2aed9f66-9e5a-4711-a092-ba93b68af96e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"connectors": []} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-339bc606-26aa-4be3-983a-d2cd849c5a47 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:20.884218+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-339bc606-26aa-4be3-983a-d2cd849c5a47 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:20.884218+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-eb30ed9c-369b-42d2-bb1c-143b9e0946c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eb30ed9c-369b-42d2-bb1c-143b9e0946c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6cff8776-d3c3-4ab2-b34e-b932c27be8e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6cff8776-d3c3-4ab2-b34e-b932c27be8e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d349666d-d7f5-43ce-b3e0-44afabdfb1fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d349666d-d7f5-43ce-b3e0-44afabdfb1fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-c80d268b-2ffa-46a0-93f6-7f6000f1a61e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:21.160507+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"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_lessee_reader_can_get_volume_target [0.086791s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_owner_manager_create_volume_target [0.122867s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_097_nodes_vifs_get_admin [0.172173s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_lessee_member_cannot_patch_volume_target [0.061692s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_lessee_manager_can_change_provision_state [0.121787s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_379_lessee_manager_can_delete_volume_target [0.065220s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_347_third_party_admin_cannot_get_volume_connector [0.162371s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_380_owner_member_cannot_delete_volume_target [0.052906s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_owner_member_can_patch_volume_connectors [0.055093s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_359_third_party_admin_cannot_delete_volume_connector [0.062303s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_third_part_admin_cannot_read_node_volume_targets [0.075344s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fbd1c6b8-0abf-45ca-87ff-ed34f63d73eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1e39983f-d30d-4f71-9e75-260a6a4085ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-896ff6d0-4a6a-4034-9dcb-f9e455bbb6ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-65a3e303-6942-4751-b146-2cfbee9dc467 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c7703dcc-79b6-40ed-90c2-504825b85e9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ac92ea0-6d77-40b0-9256-4a5b69031eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d322b886-dad1-418e-b0ac-06082763905a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cc687952-f68c-4683-882f-c5465d18b54c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae0107a5-49f2-452e-92ff-21d11d81cf7c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f2bcd5a8-7a8e-4683-8772-03a15ddbe401 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5089592f-2188-4c39-968e-4e7a592ceaba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-449dc8e1-cd4e-4264-8ceb-e4b5e2b77305 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fb468aad-444d-4e75-8ab0-45c385347439 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ee444d69-4988-43ce-a3c8-1ed5d438a670 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_member [0.109981s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.049916s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_112_portgroups_get_admin [0.058500s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_lessee_member_cannot_change_provision_state [0.210680s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_375_third_party_admin_cannot_patch_volume_target [0.056817s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_115_portgroups_post_admin [0.071149s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_owner_admin_can_delete_volume_target [0.065678s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_member [0.065898s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_lessee_admin_can_delete_volume_target [0.055981s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_third_party_admin_cannot_change_provision_state [0.159712s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.076949s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a591f8c6-f3ab-4be1-bd09-c3db3cdd258e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a591f8c6-f3ab-4be1-bd09-c3db3cdd258e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40347930-9050-498d-9840-c85ac06c60a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-40347930-9050-498d-9840-c85ac06c60a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-202cdc49-8542-450c-9d24-524789bbbc1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-202cdc49-8542-450c-9d24-524789bbbc1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-282b24af-5bda-4713-9686-c7c1c64296b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-282b24af-5bda-4713-9686-c7c1c64296b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8d52154-8f48-4ef8-b4f9-4ca0aefc921b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8d52154-8f48-4ef8-b4f9-4ca0aefc921b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dbe76a7e-e1b8-44f7-993e-ab8a653f43e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dbe76a7e-e1b8-44f7-993e-ab8a653f43e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-15f9e23d-3303-42f1-9ce7-f043a98c5eb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-15f9e23d-3303-42f1-9ce7-f043a98c5eb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-588e1fa1-7cd6-439b-a05f-d9894e85f3cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-588e1fa1-7cd6-439b-a05f-d9894e85f3cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_381_lessee_member_cannot_delete_volume_target [0.054021s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_third_party_admin_cannot_delete_volume_target [0.065101s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_160_owner_manager_can_set_raid_config [0.129429s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_third_party_admin_cannot_get_node_volume_connectors [0.058273s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_admin_cannot_set_raid_config [0.062254s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.210948s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_lessee_member_cannot_set_raid_config [0.081266s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_reader_cannot_get_drivers [0.134964s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.063865s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_139_ports_post_admin [0.057500s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_observer [0.048155s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_owner_reader_cannot_get_drivers_vendor_passthru [0.115047s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_lessee_reader_can_get_bios_settings [0.640597s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3779a823-ddb4-4d1d-8a6a-a9d7e63e078b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3779a823-ddb4-4d1d-8a6a-a9d7e63e078b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-36a65fb4-c71f-45b5-8199-63b81b4d6805 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-36a65fb4-c71f-45b5-8199-63b81b4d6805 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e75ba256-8fcc-48fb-9026-d1ca28ea18e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e75ba256-8fcc-48fb-9026-d1ca28ea18e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e80cedb7-d118-4a65-8b93-05062b52f945 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e80cedb7-d118-4a65-8b93-05062b52f945 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fcdbe7f9-54f8-4d50-94bc-7592cd58affe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fcdbe7f9-54f8-4d50-94bc-7592cd58affe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-6a9c04ed-6cd8-4a9c-9590-99fbb947fa39 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6a9c04ed-6cd8-4a9c-9590-99fbb947fa39 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b5f503d9-0076-493e-ba51-b8a272f68c6f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b5f503d9-0076-493e-ba51-b8a272f68c6f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38706418-8884-4826-b566-c2cdf4b50658 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-38706418-8884-4826-b566-c2cdf4b50658 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_lessee_manager_cannot_get_console [0.129111s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_observer [0.075479s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_owner_member_can_get_console [0.085140s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_176_owner_manager_can_set_console [0.065315s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.079667s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_third_party_admin_cannot_get_bios_settings [0.157365s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_179_owner_member_can_set_console [0.061962s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_160_portgroups_ports_get_admin [0.054871s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c80d268b-2ffa-46a0-93f6-7f6000f1a61e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:21.160507+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': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 3, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/a35bac1a-2f60-41e3-a6aa-32f119194923 Openstack-Request-Id: req-8c6cf483-2b3c-4dc1-83d5-5530297fc495 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a35bac1a-2f60-41e3-a6aa-32f119194923", "created_at": "2024-09-19T19:58:21.326517+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a35bac1a-2f60-41e3-a6aa-32f119194923", "rel": "self"}, {"href": "http://localhost/volume/targets/a35bac1a-2f60-41e3-a6aa-32f119194923", "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/a35bac1a-2f60-41e3-a6aa-32f119194923 Openstack-Request-Id: req-8c6cf483-2b3c-4dc1-83d5-5530297fc495 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a35bac1a-2f60-41e3-a6aa-32f119194923", "created_at": "2024-09-19T19:58:21.326517+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a35bac1a-2f60-41e3-a6aa-32f119194923", "rel": "self"}, {"href": "http://localhost/volume/targets/a35bac1a-2f60-41e3-a6aa-32f119194923", "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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06e01fbd-8f7d-4bb2-9a2b-f5be412825e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-06e01fbd-8f7d-4bb2-9a2b-f5be412825e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bf41bc94-9ba4-487d-9ffc-3a4427a5aa4f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bf41bc94-9ba4-487d-9ffc-3a4427a5aa4f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7cd8d5e6-5b15-4de3-942b-1b8d2798a335 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7cd8d5e6-5b15-4de3-942b-1b8d2798a335 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9e2d469-fd41-4075-a5d9-e758d27281df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d9e2d469-fd41-4075-a5d9-e758d27281df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/bios GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8aff5631-2d30-41b4-b9ba-007deba46e2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8aff5631-2d30-41b4-b9ba-007deba46e2a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae6787c2-138f-4fe0-bf67-77464990e27d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_third_party_admin_cannot_get_conductors [0.129722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.058119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_182_owner_manager_cannot_get_vendor_passthru_methods [0.071261s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_403_owner_reader_can_get_their_allocation [0.135182s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_member [0.053974s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_401_owner_reader_can_get_allocations [0.166739s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_member_cannot_get_vendor_passthru_methods [0.059018s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_reader_cannot_get_vendor_passthru_methods [0.076789s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_406_owner_manager_can_delete_their_allocation [0.136920s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_owner_manager_cannot_get_vendor_passthru [0.062920s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-722c6cd8-36df-49f3-a882-af59b6459858 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f755e727-6268-486c-b73b-d07468ef26fb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6c668969-6e55-4a13-ac09-22432b89ba3d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c24080bd-e514-48c9-ac55-c0fd9fbba46c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-935850cc-3fe8-4794-bcc9-b965bf3327d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d89290f1-2204-4c41-83b3-212933c2245c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e4de10c1-ef3d-4baf-a6c2-75317bbdad04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6d2c7158-4269-43d9-897d-802ebf195286 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aca98535-d83f-4933-9fe6-5b59c6729da3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1d06b023-d563-46fd-b916-f0607fb4509d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1ad180b1-b875-4050-8c5d-44f64ab2ecbc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11d2fb31-be75-4d1a-b2fd-b96d7ecd0936 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e6b071f3-6a46-496a-abe3-47aba2686117 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8b5ad270-5f67-46c2-83d6-7b8f7bdeef1c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6511e8f0-5490-4e7f-850f-f8f66fc597fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_169_volume_connectors_get_admin [0.083102s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_member [0.088631s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ba1491c6-ed3c-40e5-a9a6-d5ba246c7d62 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba1491c6-ed3c-40e5-a9a6-d5ba246c7d62 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4d90a7a4-da67-4435-b810-10283acd236b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4d90a7a4-da67-4435-b810-10283acd236b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ea0e14ba-72c6-4ea1-9466-159761590dfc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea0e14ba-72c6-4ea1-9466-159761590dfc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5b75b19b-b8ed-4cbe-9fa5-53f1bd4bd68c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5b75b19b-b8ed-4cbe-9fa5-53f1bd4bd68c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-239b2f11-05dd-4cdd-95bf-84410f8ab92f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-239b2f11-05dd-4cdd-95bf-84410f8ab92f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0fcdfb53-8a44-4b38-978a-e6c8df7e8611 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0fcdfb53-8a44-4b38-978a-e6c8df7e8611 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-954b62c0-9f7e-447f-b173-0c3e5d7ff1c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "ab06859a-063e-415b-afaf-2cad0b3d506d", "created_at": "2024-09-19T19:58:22.473931+00:00", "updated_at": "2024-09-19T19:58:22.484763+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ab06859a-063e-415b-afaf-2cad0b3d506d", "rel": "self"}, {"href": "http://localhost/allocations/ab06859a-063e-415b-afaf-2cad0b3d506d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-954b62c0-9f7e-447f-b173-0c3e5d7ff1c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "ab06859a-063e-415b-afaf-2cad0b3d506d", "created_at": "2024-09-19T19:58:22.473931+00:00", "updated_at": "2024-09-19T19:58:22.484763+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ab06859a-063e-415b-afaf-2cad0b3d506d", "rel": "self"}, {"href": "http://localhost/allocations/ab06859a-063e-415b-afaf-2cad0b3d506d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_lessee_reader_can_get_allocations [0.126991s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_observer [0.067371s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_408_lessee_manager_can_delete_their_allocation [0.140684s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_410_lessee_member_can_delete_their_allocation [0.149582s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_member [0.059655s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93a3e956-d66b-4732-b1f2-d851457a0736 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-93a3e956-d66b-4732-b1f2-d851457a0736 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9c81f122-c73b-4afa-a085-c63f05422ce9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c81f122-c73b-4afa-a085-c63f05422ce9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-3f917b5e-6571-4c79-bdd0-ddbbb77cf45c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3f917b5e-6571-4c79-bdd0-ddbbb77cf45c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-bc6baa36-186f-44c9-acc9-e9178cf5902e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bc6baa36-186f-44c9-acc9-e9178cf5902e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-433ce942-9d38-489d-832b-79c2c3b10b76 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-433ce942-9d38-489d-832b-79c2c3b10b76 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4c5a7476-6efa-4d9e-8fb1-5437fbefe224 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4c5a7476-6efa-4d9e-8fb1-5437fbefe224 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-85915148-0070-4d67-ac89-e1d28237950e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-85915148-0070-4d67-ac89-e1d28237950e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b11ce862-9d7b-4da1-9e29-b8230e125685 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b11ce862-9d7b-4da1-9e29-b8230e125685 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_lessee_manager_cannot_get_vendor_passthru [0.093356s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_196_lessee_reader_cannot_get_vendor_passthru [0.122432s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.070223s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_411_owner_member_can_patch_allocation [0.128930s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_414_third_party_admin_can_create_allocation [0.114057s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.078275s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_reader_cannot_post_vendor_passthru [0.113218s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_418_owner_manager_can_create_allocation_with_their_uuid [0.123713s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.067313s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_415_third_party_admin_cannot_create_allocation_with_owner_node [0.117374s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.058919s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_lessee_manager_cannot_post_vendor_passthru [0.118063s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_434_owner_reader_cannot_access_chassis [0.115695s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.055425s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_416_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.114330s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.060601s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_208_owner_reader_cannot_put_vendor_passthru [0.106353s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_member [0.049443s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_owner_admin_can_delete_allocation [0.108014s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ae6787c2-138f-4fe0-bf67-77464990e27d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/02ec3f01-8d77-475f-831d-c1d3e5179421 GET: /v1/allocations/02ec3f01-8d77-475f-831d-c1d3e5179421 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19edba12-3d08-47df-856b-dcd4f9ceaa55 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "02ec3f01-8d77-475f-831d-c1d3e5179421", "created_at": "2024-09-19T19:58:22.433731+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/02ec3f01-8d77-475f-831d-c1d3e5179421", "rel": "self"}, {"href": "http://localhost/allocations/02ec3f01-8d77-475f-831d-c1d3e5179421", "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-19edba12-3d08-47df-856b-dcd4f9ceaa55 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "02ec3f01-8d77-475f-831d-c1d3e5179421", "created_at": "2024-09-19T19:58:22.433731+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/02ec3f01-8d77-475f-831d-c1d3e5179421", "rel": "self"}, {"href": "http://localhost/allocations/02ec3f01-8d77-475f-831d-c1d3e5179421", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path delete /v1/allocations/05d2606d-11d5-4923-a295-75788807d49c DELETE: /v1/allocations/05d2606d-11d5-4923-a295-75788807d49c GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c3f49173-1317-4251-93e0-79cacbb16da1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c3f49173-1317-4251-93e0-79cacbb16da1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f767a35f-7a06-4132-9a97-42277d9ed4fa DELETE: /v1/allocations/f767a35f-7a06-4132-9a97-42277d9ed4fa GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b7b702a8-d286-4306-938c-77d6744361a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b7b702a8-d286-4306-938c-77d6744361a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/b8448711-9ae5-40af-8545-962a293d6e9d PATCH: /v1/allocations/b8448711-9ae5-40af-8545-962a293d6e9d [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d0ea608-289f-4d35-bfd1-4cabe6869108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b8448711-9ae5-40af-8545-962a293d6e9d", "created_at": "2024-09-19T19:58:22.830957+00:00", "updated_at": "2024-09-19T19:58:22.884078+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/b8448711-9ae5-40af-8545-962a293d6e9d", "rel": "self"}, {"href": "http://localhost/allocations/b8448711-9ae5-40af-8545-962a293d6e9d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d0ea608-289f-4d35-bfd1-4cabe6869108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b8448711-9ae5-40af-8545-962a293d6e9d", "created_at": "2024-09-19T19:58:22.830957+00:00", "updated_at": "2024-09-19T19:58:22.884078+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/b8448711-9ae5-40af-8545-962a293d6e9d", "rel": "self"}, {"href": "http://localhost/allocations/b8448711-9ae5-40af-8545-962a293d6e9d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-806a79ff-9f82-4ca9-b25b-cf3bbcccd700 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-806a79ff-9f82-4ca9-b25b-cf3bbcccd700 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eaac9fa2-8f4e-4287-b34b-25084787c43a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eaac9fa2-8f4e-4287-b34b-25084787c43a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_third_party_admin_cannot_access_chassis [0.107755s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_observer [0.058076s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_lessee_member_cannot_put_vendor_passthru [0.112771s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_437_third_party_admin_cannot_create_chassis [0.116713s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.061751s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_428_lessee_manager_not_delete_allocation [0.117204s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_member [0.061125s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_215_owner_member_cannot_delete_vendor_passthru [0.125394s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_439_node_history_get_member [0.135805s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f88290ce-ee0e-42dd-92a7-fda6a622aec9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3a352501-7c4c-4de5-9d12-fee226fbe667 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-60607655-96f4-4df0-9095-4e4d0709554d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-17430a83-4b14-4600-854b-78c21fb12d43 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7dffa82e-6e58-49d2-910e-ba129f38be5d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-70d9e421-eb37-404a-b369-05ba74c19dc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-abaecedd-d502-4978-bd38-88367e293b35 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-05569b69-9150-4e60-be15-ce4bbf2c6e1b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e864c682-c64f-436e-9f51-94364d924379 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a25c68ea-ab22-405f-84ac-1aef994843ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f1b93e06-aa08-4077-9d1b-6971ea4de683 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb4336b9-d850-4863-b040-7e9b99fcfcf7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-71df7930-408d-479b-84db-6e3e11e5f36f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e7427928-15f5-4798-8f3e-d447045fee2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_driver_name_get_admin [0.047506s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_214_drivers_properties_get_admin [0.066210s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.048202s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_lessee_manager_cannot_put_traits [0.154353s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e4941d5-c706-42e7-afa1-078394cc0c8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "created_at": "2024-09-19T19:58:22.610943+00:00", "updated_at": "2024-09-19T19:58:22.612408+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "rel": "self"}, {"href": "http://localhost/allocations/a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e4941d5-c706-42e7-afa1-078394cc0c8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "created_at": "2024-09-19T19:58:22.610943+00:00", "updated_at": "2024-09-19T19:58:22.612408+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "rel": "self"}, {"href": "http://localhost/allocations/a396f9cc-cc1c-40bd-ab4d-106902e37ff7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path delete /v1/allocations/8ecdb1a2-b0b8-4fee-a25d-09502a9c19f2 DELETE: /v1/allocations/8ecdb1a2-b0b8-4fee-a25d-09502a9c19f2 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4d7035e5-0592-4a72-8b2a-c057ccab359f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4d7035e5-0592-4a72-8b2a-c057ccab359f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fddd1ed2-c40b-41cb-b448-b4686e0e92f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fddd1ed2-c40b-41cb-b448-b4686e0e92f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ab0dfdd-2d7c-4a7e-ae42-0869e67d7b25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ab0dfdd-2d7c-4a7e-ae42-0869e67d7b25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', '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-bdb92537-1628-4fbd-b3f2-b8f10e594aa3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bdb92537-1628-4fbd-b3f2-b8f10e594aa3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/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-98d494ee-e88d-470c-84dd-9343125c4187 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98d494ee-e88d-470c-84dd-9343125c4187 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa50f59b-3b11-41c2-a17b-e1de1862db15 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa50f59b-3b11-41c2-a17b-e1de1862db15 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_438_node_history_get_admin [0.151804s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.160137s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.060278s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_443_node_history_get_entry_reader [0.139864s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.071373s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.099082s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-294d62a1-4ae9-4024-9ee9-a7d530ae0ca2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-294d62a1-4ae9-4024-9ee9-a7d530ae0ca2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7da67968-78bb-48c8-a616-2075f65540cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7da67968-78bb-48c8-a616-2075f65540cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b00ec01c-5da6-47fb-a366-0053c3542cb9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b00ec01c-5da6-47fb-a366-0053c3542cb9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7050e765-4004-4b94-bf3c-69c0acf69383 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7050e765-4004-4b94-bf3c-69c0acf69383 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5be2ed6e-c7ca-4424-8b90-58ff13193316 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5be2ed6e-c7ca-4424-8b90-58ff13193316 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7cb654a9-9a5d-4e28-8514-1de440ef2f32 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7cb654a9-9a5d-4e28-8514-1de440ef2f32 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4eeb5e46-3ca7-45eb-9a03-338ac2168ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4eeb5e46-3ca7-45eb-9a03-338ac2168ffc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-06bcb502-b018-45cd-8909-d6dadebb56b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-06bcb502-b018-45cd-8909-d6dadebb56b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_234_lessee_admin_cannot_delete_traits [0.120778s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_lessee_node_history_get_admin [0.122470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_third_party_admin_cannot_delete_traits [0.124574s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_observer [0.058287s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.114053s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_conductors_get_admin [0.052437s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_lessee_history_get_entry_member [0.124285s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_lessee_admin_cannot_put_custom_traits [0.124402s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.108328s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_242_conductors_get_observer [0.064868s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_hostname_get_admin [0.057811s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.085450s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.143687s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_lessee_reader_get_vifs [0.193683s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_246_allocations_post_admin [0.145851s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.136593s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.149129s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_248_allocations_post_observer [0.062336s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.055236s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.093325s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.053819s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_247_third_party_admin_cannot_get_vifs [0.181845s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.169402s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.087337s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.071257s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.060127s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.116528s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_lessee_admin_can_post_vifs [0.130680s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.062967s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-223b66dc-5c51-4c0f-9d38-db5efc271ccf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ccfc2054-ebaa-4a30-8df0-b1b34b01cbdf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c1f072ce-a36f-4ca5-b135-e84b3199f385 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b2c35a3-b7f5-427c-a246-049e15f141a5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8d18a6fc-6afe-405b-9815-24f2d40332ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6fd05ecf-3377-4df6-81c5-5535efdb2784 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea599686-4b2d-49db-9c75-486bd2a83ddd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f6a486e9-324b-486d-9e57-24b5b4ca8675 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-77d54cb2-1fba-4a89-acaf-8d51dc37ec43 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cdeac5e1-2717-43f4-a268-e8b3c7e5c393 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a4931a10-af73-4709-834d-5395313c3c7e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/39da844f-65ef-4c6f-87c6-2c734b76f911 PATCH: /v1/allocations/39da844f-65ef-4c6f-87c6-2c734b76f911 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d4ada1e-dd5d-4576-9908-9401729d822a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 39da844f-65ef-4c6f-87c6-2c734b76f911 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/33fc0ea8-4d8e-4e54-ae10-01979d7caa2b PATCH: /v1/allocations/33fc0ea8-4d8e-4e54-ae10-01979d7caa2b [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4657e7e4-b425-4ddc-ae26-11f56315e62a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 33fc0ea8-4d8e-4e54-ae10-01979d7caa2b could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/6eb8c535-c783-4824-bf81-d1e5e39eaab0 DELETE: /v1/allocations/6eb8c535-c783-4824-bf81-d1e5e39eaab0 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e9721cad-32a1-4e1c-a8ee-9d0d27ffd0ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6eb8c535-c783-4824-bf81-d1e5e39eaab0 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_261_nodes_allocation_get_admin [0.071853s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_observer [0.061679s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_observer [0.072879s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.151793s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_third_party_admin_cannot_get_indicators [0.158995s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd563345-6c9e-46eb-a2b5-b9a95f8fb3bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "da9d0ba1-268d-43eb-8d36-6bae46c1b1a5", "created_at": "2024-09-19T19:58:23.465461+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/da9d0ba1-268d-43eb-8d36-6bae46c1b1a5", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd563345-6c9e-46eb-a2b5-b9a95f8fb3bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "da9d0ba1-268d-43eb-8d36-6bae46c1b1a5", "created_at": "2024-09-19T19:58:23.465461+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/da9d0ba1-268d-43eb-8d36-6bae46c1b1a5", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/db432ae7-7e23-4b08-ad6f-6e355b5e3e54 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/db432ae7-7e23-4b08-ad6f-6e355b5e3e54 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d318190-4951-4b5f-b0f3-3423a6420e26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "db432ae7-7e23-4b08-ad6f-6e355b5e3e54", "created_at": "2024-09-19T19:58:23.622988+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/db432ae7-7e23-4b08-ad6f-6e355b5e3e54", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d318190-4951-4b5f-b0f3-3423a6420e26 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "db432ae7-7e23-4b08-ad6f-6e355b5e3e54", "created_at": "2024-09-19T19:58:23.622988+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/db432ae7-7e23-4b08-ad6f-6e355b5e3e54", "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-894ef8a3-cf78-43db-bb36-e97d83075965 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-894ef8a3-cf78-43db-bb36-e97d83075965 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/df92afff-9228-4ee9-a1dd-8b7bbfc7ea0e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/df92afff-9228-4ee9-a1dd-8b7bbfc7ea0e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c01fbabc-eab5-414c-8481-2a2c5e0243e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c01fbabc-eab5-414c-8481-2a2c5e0243e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c61f615d-d065-41a5-82f4-8b9794e7034c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c61f615d-d065-41a5-82f4-8b9794e7034c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} 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-1729a868-2471-47bf-bfbe-4ead2a20d9f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aef7a909-2318-4bf2-ab03-f3c55b0fe03e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4151c260-2ee7-491e-be10-96c0b75ff38a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3b5447cb-91d0-4b39-9fe0-eefc7e703d9f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd95a1f3-fd47-44ee-84e4-d2a307e4fc7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.128117s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.091138s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_owner_member_can_set_indicator [0.121437s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_member [0.175127s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.060900s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2185efec-1bc6-413e-8c60-6277bff7792d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2185efec-1bc6-413e-8c60-6277bff7792d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ad444314-35f1-4e4f-8cad-8bc03c7028d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ad444314-35f1-4e4f-8cad-8bc03c7028d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0609c0f-0b35-4d43-ad28-593d5cc68578 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "bc8d0089-2207-46d3-ace7-7326776c0fe1", "created_at": "2024-09-19T19:58:23.431520+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/bc8d0089-2207-46d3-ace7-7326776c0fe1", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0609c0f-0b35-4d43-ad28-593d5cc68578 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "bc8d0089-2207-46d3-ace7-7326776c0fe1", "created_at": "2024-09-19T19:58:23.431520+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/bc8d0089-2207-46d3-ace7-7326776c0fe1", "rel": "self"}]}]} 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-7510d3f0-9c4e-464f-a7d7-4be762b7ddc5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-45e0d2e2-599e-4bcc-9d25-c9b697d7ed95 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e59170bd-3eb7-447f-af48-6f9ed772a8da X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e886c3d7-799c-40a2-a1b1-47b2eee1ed3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1aee87b1-5869-4af7-8ace-f9b71240e90d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-be47e391-011b-40cf-bbe5-3b1f0efe7090 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c486095d-4393-4dd3-b071-747866618c8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d0ce3ca9-67dd-4713-bdf2-bb60eb374fde X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c8d30f36-20e8-4c6c-9d6a-92e1160bb489 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_030_nodes_maintenance_delete_member [0.107880s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.088374s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.168978s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-377c546c-b939-4d74-a86d-6cbc4ee8530c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-377c546c-b939-4d74-a86d-6cbc4ee8530c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44be0b76-9e8b-46c8-a771-dfce377803a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-44be0b76-9e8b-46c8-a771-dfce377803a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5c0b2968-6a47-43f7-aa06-b6415d94186a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5c0b2968-6a47-43f7-aa06-b6415d94186a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-1fd3f1e4-6ac0-41c1-a764-d28a053f480b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1fd3f1e4-6ac0-41c1-a764-d28a053f480b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-b4a8eae0-282b-4ca2-9f05-c733cc717091 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b4a8eae0-282b-4ca2-9f05-c733cc717091 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-158dd3ac-8e3e-4980-b032-e3cb0c3bb127 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-158dd3ac-8e3e-4980-b032-e3cb0c3bb127 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25a43f87-76a4-46ee-999d-4ac340402cc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-25a43f87-76a4-46ee-999d-4ac340402cc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1ac4cac9-dc2b-4403-8ef8-37eacbec913b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1ac4cac9-dc2b-4403-8ef8-37eacbec913b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} 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.TestRBACProjectScoped.test_project_scoped_276_lessee_reader_can_read_portgroup [0.091122s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_278_owner_admin_can_add_portgroup [0.103588s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.157381s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.118912s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.126470s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.101692s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_282_lessee_manager_cannot_add_portgroup [0.113584s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.099583s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.128065s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_lessee_member_cannot_add_portgroup [0.091937s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.113443s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.048832s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.057686s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.110712s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.108553s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_285_owner_admin_can_modify_portgroup [0.121647s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_member [0.070085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.116206s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.080822s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.111528s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.050050s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f531698-715b-40e4-a238-c915cb8b2054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:24.848034+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-8f531698-715b-40e4-a238-c915cb8b2054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:24.848034+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': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6 Openstack-Request-Id: req-f81805a5-0df3-4c2a-9053-a628e12b77f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "created_at": "2024-09-19T19:58:24.960320+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/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "rel": "self"}, {"href": "http://localhost/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6 Openstack-Request-Id: req-f81805a5-0df3-4c2a-9053-a628e12b77f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "created_at": "2024-09-19T19:58:24.960320+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/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "rel": "self"}, {"href": "http://localhost/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a4c9f553-729c-4d35-8ded-5e69aa7fa7e6/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-4c8d2870-139d-4e12-828a-7e8902f74296 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4c8d2870-139d-4e12-828a-7e8902f74296 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e74fb724-37a2-4369-a387-be22bc952095 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e74fb724-37a2-4369-a387-be22bc952095 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2f194463-9ca6-4d19-b44f-f41cd0666336 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2f194463-9ca6-4d19-b44f-f41cd0666336 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-859b1aff-0a74-409e-9235-b273114a87f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_290_lessee_member_cannot_modify_portgroup [0.121114s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.059192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_292_owner_admin_can_delete_portgroup [0.127541s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.159858s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_282_chassis_post_admin [0.162603s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.079578s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.050649s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.053046s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.051684s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_288_chassis_detail_get_admin [0.157608s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.074981s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_299_owner_reader_can_get_node_portgroups [0.200246s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e4a068a-bae0-4426-beaa-218f68c1ac76 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fe4282ae-14c1-4aab-a6ca-31accd60314b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-80562d18-0abe-4d7c-9424-b92fc27f2a0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-49bd3946-5149-4570-94da-f21ac46325b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c34eb230-e268-4c35-b241-371757848c68 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1c8f6e50-efe5-40d5-9693-c040b5a4545a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-847f8516-29b6-4dee-ad85-8a71ee60f84a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a361974f-52a6-44af-8a48-2dbc221351e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-817083ca-ad22-4650-8695-fe3765e15478 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a98b959c-f0c3-4045-b9b4-70b22f6ad52a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-797a9fb0-5355-4b67-8bb9-7368f7716e85 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88f208d1-005e-44ae-a964-8d4a243f571f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11786186-2985-4e31-a813-05abec4eebfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aa4d3aad-47e9-40ce-90ea-68bd177e8248 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.078485s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_observer [0.078063s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.112041s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_member [0.116292s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.074206s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_300_lessee_reader_can_get_node_porgtroups [0.152188s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.062423s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.057034s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.119296s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_301_third_party_admin_cannot_get_portgroups [0.106780s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.052969s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.234301s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_observer [0.109633s] ... ok API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9f30114-fad6-446f-9a65-06803f82d3f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-508506b2-f04e-4ea0-8a96-4cb7f32ee10f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3340ca6f-4c9e-4eef-a6e7-a39b23642729 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6fa0436b-897c-4137-957f-00ebcfe03af4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-13e818df-8b74-4c84-acfc-ff630fa04abb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cff952af-b384-4cac-9229-a14903ec3446 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e27b10c0-9a61-4cac-9c85-bb5fcc0370e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e79b473b-90fa-47c6-926b-683502be78b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-91f66dcb-2927-4b02-a023-e0e8acbefed6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-baee5ebf-daec-4769-98d6-01c75e751c25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-72914101-632a-4982-b40b-b2f64308e155 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-379265d4-71b6-4ea6-8541-2e06f5e6c711 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d172babf-c419-4a28-ac4a-6c2c98a35a2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-40c7078b-f9be-4e79-8dd7-5a6eaace169e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_075_nodes_vendor_passthru_post_observer [0.050904s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.057343s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_302_owner_reader_can_list_ports [0.168165s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.070454s] ... ok 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-60534076-d093-4978-bf36-ee91a7a82f1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb5e10d8-2233-467d-bcb9-ef3e17bce7cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cefede1d-56f7-49ac-8632-e3b92822c8fc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9f406683-71e2-487e-8093-75903809a297 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/36c36a49-a053-436c-8462-f11b24f24dac GET: /v1/deploy_templates/36c36a49-a053-436c-8462-f11b24f24dac {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7fff5192-898a-4ad0-bd60-c02a42efe83c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/e2c106e3-4b3a-42b6-9506-4d20b2ea1d0e GET: /v1/deploy_templates/e2c106e3-4b3a-42b6-9506-4d20b2ea1d0e {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-88835216-ad44-4d37-9ea0-8bedccc9ff69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/e96b553b-59f1-4207-a3b4-e3be7d3e6009 PATCH: /v1/deploy_templates/e96b553b-59f1-4207-a3b4-e3be7d3e6009 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c4640f59-4957-4790-a233-6617dcb7e106 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/919edda4-db88-4695-ab58-44cceefead38 DELETE: /v1/deploy_templates/919edda4-db88-4695-ab58-44cceefead38 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6f659e11-6d19-4085-ae4e-9edf82d52be3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/8b319e9d-9cce-4250-827b-6b821bd14489 DELETE: /v1/deploy_templates/8b319e9d-9cce-4250-827b-6b821bd14489 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bd94e823-945a-4328-94df-94dd8eeb45b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9afc529e-e72f-40f8-9f06-0cf9d0e90db3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a7d2d43e-7f69-4cab-a408-6cb1381bfcac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-440f4613-68b4-4750-8cbe-570823bd64de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-da67bc70-eb64-4fd2-bb61-d97048edb5af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_post_admin [0.117964s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.106631s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.062042s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.092585s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_third_party_admin_cannot_list_ports [0.108814s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.076941s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_114_portgroups_get_observer [0.106003s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.063951s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.062635s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.097178s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-859b1aff-0a74-409e-9235-b273114a87f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ff4e6d5-786b-4308-9228-6bb07cc706ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ff4e6d5-786b-4308-9228-6bb07cc706ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-297014f9-4bbc-4dbf-b99b-8e3c1ef5ddd6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-297014f9-4bbc-4dbf-b99b-8e3c1ef5ddd6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a62f3d46-18a1-4a7e-9228-2c4346dcf3a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a62f3d46-18a1-4a7e-9228-2c4346dcf3a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8410cd5a-2921-4bb8-8c3f-c77bdc4e59aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8410cd5a-2921-4bb8-8c3f-c77bdc4e59aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-65e3d803-9254-4396-8b6e-14767cfe1e12 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-65e3d803-9254-4396-8b6e-14767cfe1e12 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9889ab67-110d-4739-b66c-d50414193d8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9889ab67-110d-4739-b66c-d50414193d8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} API ACL Testing Path get /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GET: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_owner_reader_can_read_port [0.121301s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_088_nodes_traits_delete_admin [0.111911s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_third_party_admin_cannot_read_port [0.124677s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.105509s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_member [0.070438s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.055033s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_owner_admin_can_add_ports [0.122334s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.110435s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.060807s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_member [0.383758s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_observer [0.051475s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.093349s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_316_third_party_admin_cannot_add_port [0.119394s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.073004s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.061442s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.096920s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.069444s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.095266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_owner_admin_can_modify_port [0.122414s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.074461s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.087992s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.054470s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.109978s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_owner_manager_can_modify_port [0.134369s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.060818s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_observer [0.113959s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.069307s] ... ok 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-03c928cf-f5df-4aa7-b7d2-3bf03a0aec75 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-26cc5ffb-096b-4654-a3a0-c43b13e76ea9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ecb2ddcf-efdd-41b2-8aeb-18951e496e43 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f715ad4b-e39c-423d-b58b-4508bc7d2e13 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-47121625-6f54-4ea4-9c45-94832e98bda4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-06d5dd4d-2f59-4e44-9c45-e84e7bea3483 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-03407f18-f9ab-46f1-8497-89de73bf3cc2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5fc0472a-2aed-4868-aae0-8eb9c93dc220 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8275d3e9-81ed-41dc-adf8-6d3e178dae45 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-36058176-c2fc-4f1c-a762-58637b2de176 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-af576431-be46-4c1e-b7dd-f91020b2263d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46506163-4626-4b2d-811f-dd09544e960a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-589e892a-193f-4ef1-8476-61c83c1f6fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f13ec172-f773-4bd3-81c9-6a534b1ee88c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_107_nodes_management_indicators_get_member [0.063913s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_113_portgroups_get_member [0.054677s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.063330s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_third_party_admin_cannot_modify_port [0.156727s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_detail_get_admin [0.063522s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_136_ports_get_admin [0.112356s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_observer [0.056672s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.111166s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-528e1b27-bd81-4404-ae92-f107ff187710 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-09-19T19:58:26.352158+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} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-528e1b27-bd81-4404-ae92-f107ff187710 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-09-19T19:58:26.352158+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} API ACL Testing Path get /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 GET: /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fecc9ce5-b360-4f67-a591-99b45129edf6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fecc9ce5-b360-4f67-a591-99b45129edf6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a2f164de-3ecd-4e61-838c-558efe4686b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a2f164de-3ecd-4e61-838c-558efe4686b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-aceeeaa8-ed0c-447f-a8a4-7b9ae3b44473 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aceeeaa8-ed0c-447f-a8a4-7b9ae3b44473 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-073b0583-6695-4832-ab0f-29911ba79ffe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-073b0583-6695-4832-ab0f-29911ba79ffe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dd131767-8322-4734-9bf2-825d980340f6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dd131767-8322-4734-9bf2-825d980340f6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4e88927-cf18-4ab5-acaa-f8c522f7e879 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4e88927-cf18-4ab5-acaa-f8c522f7e879 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_331_owner_reader_can_get_node_ports [0.119508s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_observer [0.120248s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.099371s] ... ok 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-80d0d212-54d1-44de-8fb6-ef50a660970d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e9d4e4a9-6d57-43e5-9917-8998e03663db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a76dab0-1979-4f09-873d-97685c601702 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8ce18fef-fb15-4056-b031-3a6c42b9072c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4427ce7-d379-47f6-b8f7-2c1b6630e49c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac15a5bf-33bc-4239-9c19-6564416f189f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-da0a5b1f-e51d-4e56-9785-36470b3e0662 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ed19309e-17a3-4393-adec-29c00f947917 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4fab732e-d786-4be5-9853-8a2dfd563570 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7482c1fd-344d-496d-8045-1026880ba886 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3c913a68-2b0d-46bb-9cce-6635f9470db9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-108abd2d-8e0f-47bb-8a22-d747bf3deb07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-836e673f-55aa-48dd-a365-a3d35ad074e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a136ee18-81c8-4729-a645-f251f7898b1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_lessee_reader_can_get_node_port [0.128932s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.098351s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_142_ports_detail_get_admin [0.100313s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.113652s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.081244s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.061739s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_third_party_admin_cannot_get_ports_by_portgroup [0.130438s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.117683s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.084815s] ... ok 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-dc501acc-3cde-424d-b452-8e01c61f9eda X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-939e82c6-5aa6-41ad-98ea-bf0b2d7d10b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2bff7404-2208-43d5-a89c-f07dbd583df4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-922531af-203b-4b09-b8ae-6e1716bccb22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0690757-5b48-4ffc-a948-c58e0ae64e35 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a7f41020-faf7-4463-9d5e-c61a5a68a2f6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-92c2c399-51a5-4c70-a6a3-e765cdd322ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0c979897-ce27-408a-a6f6-527b939d359c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1786bd2d-31ba-4092-a547-00452fb2ff3f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0c7f2942-8d21-445a-b9f2-8a5465e6a4db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f56ef0e-0a36-44cd-872b-7e095b71017f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b61b140d-8927-4d9a-97ed-816af658355d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c5db277f-6ba7-4b76-9cf6-24bf99d80193 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-02410de1-b514-4d75-80d6-0e8ddbc8f41b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fe5291e9-f64c-4bd4-974f-c5f336e87b15 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_port_id_get_admin [0.136519s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.058892s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_owner_reader_can_list_volume_connectors [0.117830s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_member [0.112430s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_member [0.143357s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_member [0.064429s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_member [0.051042s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.107074s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_lessee_reader_can_list_volume_connectors [0.126543s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_member [0.107771s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_delete_admin [0.054561s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_member [0.056159s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.140873s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_member [0.106639s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_082_nodes_traits_get_admin [0.054813s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_member [0.057643s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da62a8e6-2a53-4283-83e4-2730c8e8b81f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-da62a8e6-2a53-4283-83e4-2730c8e8b81f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-553319e4-9a1a-4e8f-a259-e22c1defbc72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-553319e4-9a1a-4e8f-a259-e22c1defbc72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-b0a22abe-8814-4b46-bac8-d29f83f21334 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0a22abe-8814-4b46-bac8-d29f83f21334 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8c0f3d6-8481-4d89-8b21-00e243917675 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8c0f3d6-8481-4d89-8b21-00e243917675 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97045385-bfec-4f3e-af24-d83269a54ff1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97045385-bfec-4f3e-af24-d83269a54ff1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_owner_admin_can_post_volume_connector [0.149740s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_member [0.107608s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.110831s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_delete_admin [0.063841s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_delete_admin [0.060494s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_observer [0.101130s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.109886s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_member [0.065650s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_delete_admin [0.128831s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.114541s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33065c86-3304-4758-9f97-fbab22f253b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6b016a81-760c-4596-9fe6-77db0f9ddf6f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8c373e55-72dd-45a5-b318-7a253466acc7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-737231d0-edfa-4df0-a1f6-bd6a9f8f2bd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-466b567a-518d-45ed-89e8-da726aeb14e7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-15f229c8-bb4e-40af-af2f-3d8912aec3f0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-86ac01be-2180-4b20-9cc6-a2cef5d2bff8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b287e554-8bf0-47e8-a1d6-5de9ae5341d4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c36531d3-95d5-42a2-ad32-3dfcd4070722 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-77272505-b41a-4fd7-85c5-c56d58085199 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35ee4744-666a-41e5-9f94-3a0ed7e44a90 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-61c25c32-06f3-4e0d-b873-39ed84ad8e01 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8246d589-c09a-4701-abb5-7a33d1ade037 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e612682d-fb6c-40ee-9bda-2a37aa6bfcca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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.TestRBACScoped.test_scoped_canary_097_nodes_vifs_get_admin [0.063037s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_lessee_manager_cannot_post_volume_connector [0.405386s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_observer [0.102740s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_observer [0.104961s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_observer [0.102933s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_member [0.051375s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_member [0.088326s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_346_lessee_reader_can_get_volume_connector [0.120059s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.123548s] ... ok 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-fbc059ec-bef3-4d66-85fa-91bfbb65bf8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0e20a14b-a5c9-42e2-b298-308f5ea013d2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f45115d-7f9d-42a0-998d-f487bab4d6df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9b92d6e0-ade1-4bb6-be8e-7637daca016f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18ab9138-e16c-4f6d-bb7d-31bcec3e9a34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0fb67b35-33b9-45d2-98b1-7f10ad0df039 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ddcd8f33-ae80-4f88-8f52-432338b2dee7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-28cd6032-bc28-4ae7-82eb-682ca88ccee5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46ad5806-4ae9-4e69-9265-6d5f5be8efd4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6b8ac3e1-d122-4a42-861c-27a6274c3787 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-61ea7154-1b57-499e-bf4d-74ce5d3dc57d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-170eb3ea-6463-4ec2-aef8-cdc7f7aa4277 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e485f292-54d9-4df9-8fd0-973f729e8f11 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1e49611-03a6-4955-b0da-3980d0a34732 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-874f4786-29c9-4354-8204-ec3b5e919e38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_172_volume_connectors_post_admin [0.060972s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_348_lessee_member_cannot_patch_volume_connectors [0.073633s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_member [0.099646s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.108715s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_354_third_party_admin_cannot_patch_volume_connectors [0.062899s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_observer [0.060010s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.135229s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_355_owner_admin_can_delete_volume_connectors [0.061582s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_187_volume_targets_post_admin [0.087529s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_124_portgroups_portgroup_ident_patch_admin [0.078651s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_owner_manager_can_delete_volume_connectors [0.053690s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_ports_get_admin [0.057935s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_observer [0.076729s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.146211s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_145_ports_port_id_get_admin [0.071547s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/96d6b526-cac0-425f-9f61-4876337d90dd Openstack-Request-Id: req-bb768398-a928-4cd7-9584-7b77f84a275e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "96d6b526-cac0-425f-9f61-4876337d90dd", "created_at": "2024-09-19T19:58:27.971556+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/96d6b526-cac0-425f-9f61-4876337d90dd", "rel": "self"}, {"href": "http://localhost/volume/connectors/96d6b526-cac0-425f-9f61-4876337d90dd", "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/96d6b526-cac0-425f-9f61-4876337d90dd Openstack-Request-Id: req-bb768398-a928-4cd7-9584-7b77f84a275e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "96d6b526-cac0-425f-9f61-4876337d90dd", "created_at": "2024-09-19T19:58:27.971556+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/96d6b526-cac0-425f-9f61-4876337d90dd", "rel": "self"}, {"href": "http://localhost/volume/connectors/96d6b526-cac0-425f-9f61-4876337d90dd", "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-adef3e5e-f7f4-4f08-9666-fa9228812acc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-adef3e5e-f7f4-4f08-9666-fa9228812acc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6de6201-a2f1-4b19-b4e7-6908bfbfd723 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:28.461145+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-b6de6201-a2f1-4b19-b4e7-6908bfbfd723 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:28.461145+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-414305e9-8a0a-4f39-84cd-011053a77db2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-414305e9-8a0a-4f39-84cd-011053a77db2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a8b3de5-940f-4de2-9df5-00ae9477c1cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0a8b3de5-940f-4de2-9df5-00ae9477c1cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-167133a1-1684-4fd4-a9db-56a6baf8db10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-167133a1-1684-4fd4-a9db-56a6baf8db10 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c7b042e5-b172-43bd-99fc-e2fe4d14a39b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c7b042e5-b172-43bd-99fc-e2fe4d14a39b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_lessee_admin_can_delete_volume_connectors [0.062832s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_owner_reader_can_get_targets [0.066501s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.105064s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_patch_admin [0.068450s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_lesse_reader_can_get_targets [0.057792s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_member [0.069869s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_third_party_admin_cannot_get_target_list [0.062682s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_targets_get_admin [0.200607s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_delete_admin [0.059351s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_owner_reader_can_get_volume_target [0.066552s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_nodes_ports_get_admin [0.065239s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_third_party_admin_cannot_get_volume_target [0.056048s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_member [0.111409s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_observer [0.063777s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.063073s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.326942s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_observer [0.065530s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_member [0.079859s] ... ok 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-388fbdbc-ab59-4330-9b16-006228281978 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-388fbdbc-ab59-4330-9b16-006228281978 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-84f983c1-ab4d-480a-9182-355221c0e3cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-84f983c1-ab4d-480a-9182-355221c0e3cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0de776f7-7f55-4baa-82d1-a0e6f1717054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0de776f7-7f55-4baa-82d1-a0e6f1717054 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f46417f-4da1-4aab-ab4d-6b6d54c6398f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"targets": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f46417f-4da1-4aab-ab4d-6b6d54c6398f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-61284b23-5efb-4060-aaf7-51ef48b2334f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:29.040091+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-61284b23-5efb-4060-aaf7-51ef48b2334f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:29.040091+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93889060-0b52-4893-b42c-1cf1b9f94875 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-93889060-0b52-4893-b42c-1cf1b9f94875 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_owner_admin_create_volume_target [0.121132s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_199_nodes_volume_get_admin [0.130231s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_lessee_admin_create_volume_target [0.124013s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_member [0.124642s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_lessee_manager_create_volume_target [0.059665s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a178facb-95d3-4a5b-b109-c5e51cf44382 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ef531fec-d664-4ed1-b92e-ab1f0f044572 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2115a543-420f-4a7a-9105-4cc0cbbb56bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8ebd5ebd-c8b9-458e-a0d0-74672ebf2b0a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac2313cd-829f-4906-a5b8-682f755af220 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d226d57e-044b-4dc0-8c4c-7ea6a03c61f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7eedca69-2b23-4b81-bc59-780c71bd3467 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-683c414c-53c9-45dc-835b-37acfd8335d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b28f4c5d-421e-4122-a630-6a1f044f0a64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1390baa7-253b-4b6c-aad9-b0d9e7eee84a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b50d60c0-31cb-4005-937f-d9932f50658f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-478bf0a4-4c8e-4be5-939e-8399e59c36a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5fe4ceef-b258-4cdc-bf11-6e5bad294cec X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8e1f05e-3936-4e59-bce8-d0574179389c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-87f81ef5-c760-4bca-93b2-e1f79c1e424e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.101693s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.117272s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_owner_member_can_patch_volume_target [0.064834s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.118270s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd6094a4-7591-4eb0-8676-e874ecfb0001 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f357adb9-c821-4233-828e-c8e966c2f32d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e275eb4d-983f-404a-901c-ea3ae3de88ac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6b62aac-65c5-4dfd-ac69-4669ba794a47 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7dc88b2a-9c8a-413e-91c5-9e4ff76d409d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 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-7ee1ab0a-a889-4235-a9cf-8ff3720087bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-63126a76-0bb6-4579-8461-70ddc9527815 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-27f31c7c-09a3-4a78-9540-99767a131ac7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6eae4f19-c9fe-4178-b175-ace800b88b2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bd2b69f5-03e8-45cf-a6e9-24a6c7927001 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-adbe290c-993f-4722-9a23-e8b817ea17a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-615c689d-22e2-4685-8e72-a34429804826 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3afbaa73-efc2-46da-8666-dc1eace6cbe7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff7e5590-caa7-42ba-b3f0-a9fce3881071 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5904fe26-c6e7-4bfb-8481-cfc39da88bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_member [0.141219s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_lessee_admin_can_patch_volume_target [0.073259s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_member [0.130705s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_observer [0.085746s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_208_drivers_get_admin [0.113251s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_member [0.063048s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_210_drivers_get_observer [0.087776s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_member [0.097902s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_observer [0.063822s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_member [0.080443s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5 Openstack-Request-Id: req-baf8efd0-7862-4a7c-9be6-8f04c486868b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "created_at": "2024-09-19T19:58:29.244393+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "rel": "self"}, {"href": "http://localhost/volume/targets/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "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/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5 Openstack-Request-Id: req-baf8efd0-7862-4a7c-9be6-8f04c486868b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "created_at": "2024-09-19T19:58:29.244393+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "rel": "self"}, {"href": "http://localhost/volume/targets/8a5e5c16-0647-437d-ad1c-e9e1cb04d9d5", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/309cb664-8ad5-411b-97a9-4e1d808bad26 Openstack-Request-Id: req-2364ff8a-1f49-4607-9f22-ab3c32d680f0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "309cb664-8ad5-411b-97a9-4e1d808bad26", "created_at": "2024-09-19T19:58:29.368813+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/309cb664-8ad5-411b-97a9-4e1d808bad26", "rel": "self"}, {"href": "http://localhost/volume/targets/309cb664-8ad5-411b-97a9-4e1d808bad26", "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/309cb664-8ad5-411b-97a9-4e1d808bad26 Openstack-Request-Id: req-2364ff8a-1f49-4607-9f22-ab3c32d680f0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "309cb664-8ad5-411b-97a9-4e1d808bad26", "created_at": "2024-09-19T19:58:29.368813+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/309cb664-8ad5-411b-97a9-4e1d808bad26", "rel": "self"}, {"href": "http://localhost/volume/targets/309cb664-8ad5-411b-97a9-4e1d808bad26", "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-id3'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/60c105ef-ce66-476b-b375-745f3f75046e Openstack-Request-Id: req-5be5e93f-75be-47dd-81cf-d16f17033d17 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "60c105ef-ce66-476b-b375-745f3f75046e", "created_at": "2024-09-19T19:58:29.428558+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/60c105ef-ce66-476b-b375-745f3f75046e", "rel": "self"}, {"href": "http://localhost/volume/targets/60c105ef-ce66-476b-b375-745f3f75046e", "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/60c105ef-ce66-476b-b375-745f3f75046e Openstack-Request-Id: req-5be5e93f-75be-47dd-81cf-d16f17033d17 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "60c105ef-ce66-476b-b375-745f3f75046e", "created_at": "2024-09-19T19:58:29.428558+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/60c105ef-ce66-476b-b375-745f3f75046e", "rel": "self"}, {"href": "http://localhost/volume/targets/60c105ef-ce66-476b-b375-745f3f75046e", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fead1496-11a8-4723-aa3c-f0c5c3b122b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fead1496-11a8-4723-aa3c-f0c5c3b122b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-08a353fc-4bc7-4f7b-833f-da46dcbdec0f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-08a353fc-4bc7-4f7b-833f-da46dcbdec0f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7777b6ef-d201-4521-a180-f250d4e0cd29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_lessee_manager_can_patch_volume_target [0.172937s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.155514s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.129210s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.059308s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_owner_reader_can_get_node_volume_targets [0.184163s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.057818s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_observer [0.169096s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.164970s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.059665s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_owner_reader_cannot_get_drivers [0.121198s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_member [0.079974s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.049863s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.095130s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_third_party_admin_cannot_get_drivers_vendor_passthru [0.058751s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_member [0.054200s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_234_nodes_bios_get_admin [0.060222s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_member [0.056692s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.084916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_owner_reader_can_get_bios_setttings [0.110646s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_member [0.075846s] ... ok 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-d1c01d95-975f-4ec1-9aaf-cf3539be1a0e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c17a0938-13a9-49ca-bc8d-29a0dd777f9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b9e94d8-0944-4aef-8c75-98fa456a81e1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4f1e869-6ba3-4c2d-9de9-a6ee672d78db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2bb4b932-4262-4243-9895-92e9bcc2cb28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4ad253ab-8033-4c52-b42a-e44ae23fd2bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f3a33faf-665a-489a-b04b-a37a438ff217 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f013dd89-318f-4640-82eb-37efc0b5ae1b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ccbc566-d522-4ba6-84cf-1af2c94f253f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-83830f1f-bc31-4a44-9330-4d1fa260852e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-567c8283-7a1a-4a20-adf1-29d470fbddb0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3cb63ffc-867c-4a73-957a-6be6fb19d4c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c4926b27-5d42-4008-9356-e345c4f39224 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.119462s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_member [0.089044s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_targets_get_admin [0.079992s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_owner_reader_cannot_get_conductors [0.111924s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.137080s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_observer [0.072821s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_member [0.057124s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_405_owner_admin_can_delete_their_allocation [0.094143s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_observer [0.061089s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_member [0.063262s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_250_allocations_get_member [0.111416s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_407_lessee_admin_can_delete_their_allocation [0.089299s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.059504s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_234_nodes_bios_get_admin [0.065980s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_member [0.067000s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_247_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_249_allocations_get_admin [0.071427s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.113478s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_member [0.053248s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_observer [0.058088s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e4458a7f-c3a1-4459-adf1-b684209b8960 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8068e3c0-cf12-4365-9fe1-e1d0893530cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2d429f5c-6172-48a1-bfbf-f65f42ea4a12 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b24067b-6f78-46e6-aac2-1d332edfe82c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca600a90-56a4-41ac-8999-f148660dc251 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-70778ad4-5ce1-40ac-aa33-cfa14feb04f6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9857c9a8-8f2e-4986-91c0-0b2a6e008c02 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2d3f7282-b356-4a82-9eb5-9cd81d5ea108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6c16642-f30a-4a3c-b1b7-f22cbef232b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-657b722a-9204-49ef-bc69-ad1f69c60674 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-82026844-ee11-477e-b694-106cd474a48e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c96d8927-4bf5-4ae6-bd7c-6f1449986145 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-722cda7d-0f84-4f46-810c-e9eed0de3b82 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5755730a-1985-4a6e-975b-e350a7ef8d9c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_observer [0.140986s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.239451s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_deploy_templates_post_admin [0.070370s] ... ok GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26bc556f-f1f7-454c-910e-81daa483f4ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-832708f5-9d2b-4980-bed8-8b02048acd88 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5eb56e26-3670-4818-9632-16879afc222c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5aef406b-4da3-424e-8803-584be8ab6dbd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-140fd093-93d5-4d1d-b0a9-55b614881d98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6e41841-6722-41ca-94d6-230fcb038356 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-07b1e575-a3db-4616-9e10-80eb816fc5fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4433704-7830-44ec-9030-318bff7de625 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae1c612f-b230-48b9-a49a-138c28a9143f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b24bc4ed-1d05-4d0a-a945-1d20e9dbc7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f61a9f3c-7635-4d3e-ac24-3ed9e7aec8a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d8d2e700-29f2-4613-a032-7e2b46941f57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97ceb3bd-d26f-4aa6-aaa7-4ff926db9853 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-8f3973f7-eada-4c54-ba36-ab53a8e7f0b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_member [0.066337s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_bios_setting_get_admin [0.133328s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_hostname_get_admin [0.126844s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_247_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. ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7777b6ef-d201-4521-a180-f250d4e0cd29 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-69821caa-7beb-4247-bf57-f6ce5ae9badf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-69821caa-7beb-4247-bf57-f6ce5ae9badf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e52247ee-4666-4a5e-92b3-2fc6209f678a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e52247ee-4666-4a5e-92b3-2fc6209f678a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-889636d2-a70b-4c2d-9a1f-80a799619733 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-889636d2-a70b-4c2d-9a1f-80a799619733 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2a979530-e23f-4412-8cd9-7221a6ecb3db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2a979530-e23f-4412-8cd9-7221a6ecb3db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e485921b-0bb2-4244-8805-61a7beb816e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e485921b-0bb2-4244-8805-61a7beb816e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 delete /v1/allocations/0bd78d26-c405-4932-a9ca-98defc3b8ea4 DELETE: /v1/allocations/0bd78d26-c405-4932-a9ca-98defc3b8ea4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f5d84280-7986-4ce4-8c52-d49789d9a9dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f5d84280-7986-4ce4-8c52-d49789d9a9dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/6c55f1c8-d879-43fc-9e3c-e0160fc2ca44 DELETE: /v1/allocations/6c55f1c8-d879-43fc-9e3c-e0160fc2ca44 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0bef5267-9d21-41fc-b377-74b310ea2960 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0bef5267-9d21-41fc-b377-74b310ea2960 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/93447bec-b1cf-4153-9b00-b08a27222cc3 PATCH: /v1/allocations/93447bec-b1cf-4153-9b00-b08a27222cc3 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_412_lessee_member_can_patch_allocation [0.125357s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_413_third_party_admin_can_get_allocations [0.245168s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_third_party_admin_cannot_patch_an_allocation [0.186167s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_member [0.206758s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_249_allocations_get_admin [0.062236s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_observer [0.096177s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.050648s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_270_deploy_templates_get_admin [0.103613s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_owner_reader_can_read_node_allocation [0.116000s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.083493s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_member [0.053837s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.121176s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_252_allocations_allocation_id_get_admin [0.229115s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_lessee_reader_can_read_node_allocation [0.176485s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_observer [0.100984s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_member [0.133580s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-763c4141-eb86-40dd-939f-022508879da9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4b42c83b-17f2-4859-975c-99d1e00fa999 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-59aec2ab-7a29-48c1-a0d4-1a0781a05f93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-22831efb-c4e7-4fed-a441-b190cc6c5eef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-078a4ac4-eaca-4ac1-a334-b3f098b41a07 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-81a4c44f-eef7-4855-afd6-85df95d06306 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/4854b7a8-e388-4c2d-b1db-b32d3b3d03a1 PATCH: /v1/allocations/4854b7a8-e388-4c2d-b1db-b32d3b3d03a1 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99b0a3cd-70bf-4a99-b2a0-f3fda03fbd77 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4854b7a8-e388-4c2d-b1db-b32d3b3d03a1 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-225ac683-ba71-4ebe-907c-7d3d849de67e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-59470f0a-ed5c-4dfb-81d1-6b37d5a9c2e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e1eff048-c864-4242-aebd-23b6d0d7f41d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1639480e-dde6-48ea-afee-418028eaab04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/2f81b399-93af-4b7e-a0cc-8c765a3c4dcf GET: /v1/deploy_templates/2f81b399-93af-4b7e-a0cc-8c765a3c4dcf {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-acea4a1a-c023-4f9c-b5e5-f09132299655 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/092a4acb-afd0-4f76-a3cc-c4e0df0126b0 DELETE: /v1/deploy_templates/092a4acb-afd0-4f76-a3cc-c4e0df0126b0 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4a545ed7-e696-4537-981e-165b2d78f32d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a7390f4-de9b-4fe8-8e12-df50a46c1f8f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_observer [0.088454s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.081395s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.110073s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.055437s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_424_third_party_admin_cannot_read_node_allocation [0.160678s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_member [0.066451s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_patch_admin [0.127536s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.155646s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fa49cd9-a5e5-4aba-a055-e0861f455e31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "93447bec-b1cf-4153-9b00-b08a27222cc3", "created_at": "2024-09-19T19:58:30.562205+00:00", "updated_at": "2024-09-19T19:58:30.633567+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/93447bec-b1cf-4153-9b00-b08a27222cc3", "rel": "self"}, {"href": "http://localhost/allocations/93447bec-b1cf-4153-9b00-b08a27222cc3", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fa49cd9-a5e5-4aba-a055-e0861f455e31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "93447bec-b1cf-4153-9b00-b08a27222cc3", "created_at": "2024-09-19T19:58:30.562205+00:00", "updated_at": "2024-09-19T19:58:30.633567+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/93447bec-b1cf-4153-9b00-b08a27222cc3", "rel": "self"}, {"href": "http://localhost/allocations/93447bec-b1cf-4153-9b00-b08a27222cc3", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eba0a32a-1045-4e1b-94d5-9a8156a01166 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eba0a32a-1045-4e1b-94d5-9a8156a01166 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": []} API ACL Testing Path patch /v1/allocations/55b338b0-4ea3-4cb3-bc6c-4680cceb24f7 PATCH: /v1/allocations/55b338b0-4ea3-4cb3-bc6c-4680cceb24f7 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-15dab0f3-2292-4b39-8cdc-ea44264abde7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 55b338b0-4ea3-4cb3-bc6c-4680cceb24f7 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-15dab0f3-2292-4b39-8cdc-ea44264abde7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 55b338b0-4ea3-4cb3-bc6c-4680cceb24f7 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-b23fd772-489b-42ed-9bd1-18fe49d81119 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "228ecf64-2696-4664-917c-e43670166b85", "created_at": "2024-09-19T19:58:31.134138+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/228ecf64-2696-4664-917c-e43670166b85", "rel": "self"}, {"href": "http://localhost/allocations/228ecf64-2696-4664-917c-e43670166b85", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b23fd772-489b-42ed-9bd1-18fe49d81119 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "228ecf64-2696-4664-917c-e43670166b85", "created_at": "2024-09-19T19:58:31.134138+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/228ecf64-2696-4664-917c-e43670166b85", "rel": "self"}, {"href": "http://localhost/allocations/228ecf64-2696-4664-917c-e43670166b85", "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-42318345-0928-4cba-af2e-25d4c5f22600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "19754994-ba16-4452-b8b0-d3652929522b", "created_at": "2024-09-19T19:58:31.317226+00:00", "updated_at": "2024-09-19T19:58:31.320739+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/19754994-ba16-4452-b8b0-d3652929522b", "rel": "self"}, {"href": "http://localhost/allocations/19754994-ba16-4452-b8b0-d3652929522b", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42318345-0928-4cba-af2e-25d4c5f22600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "19754994-ba16-4452-b8b0-d3652929522b", "created_at": "2024-09-19T19:58:31.317226+00:00", "updated_at": "2024-09-19T19:58:31.320739+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/19754994-ba16-4452-b8b0-d3652929522b", "rel": "self"}, {"href": "http://localhost/allocations/19754994-ba16-4452-b8b0-d3652929522b", "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-35f2711b-0636-4e1a-8387-b6ffba045b8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35f2711b-0636-4e1a-8387-b6ffba045b8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource 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 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_427_lessee_admin_can_delete_allocation [0.086969s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_429_third_party_admin_cannot_delete_allocation [0.094680s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_member [0.152328s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_303_node_history_get_entry_admin [0.166547s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_owner_reader_cannot_get_deploy_templates [0.056040s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_300_node_history_get_admin [0.133627s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_442_node_history_get_entry_member [0.063090s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_member [0.111727s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_member [0.120257s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_lessee_node_history_get_member [0.073428s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_observer [0.129846s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_446_lessee_node_history_get_reader [0.060651s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_observer [0.112045s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_001_values ... SKIPPED: These are fake reference values for YAML templating {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_lessee_node_history_get_entry_admin [0.069774s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.133459s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.114221s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_observer [0.127078s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_get_admin [0.048017s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_member [0.048972s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0e1a5d3b-d131-4e88-9c34-235e56b15452 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0e1a5d3b-d131-4e88-9c34-235e56b15452 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91e58d17-0f4b-42a9-a810-20b5d79be70f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-91e58d17-0f4b-42a9-a810-20b5d79be70f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a5a8bca8-775c-4788-9e72-6074c22c3b24 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a5a8bca8-775c-4788-9e72-6074c22c3b24 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/c594ffda-4180-42e7-b11d-2e8ab1641069 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/c594ffda-4180-42e7-b11d-2e8ab1641069 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59600acd-7050-4979-af3d-8e775cce80cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "c594ffda-4180-42e7-b11d-2e8ab1641069", "created_at": "2024-09-19T19:58:31.795048+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/c594ffda-4180-42e7-b11d-2e8ab1641069", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59600acd-7050-4979-af3d-8e775cce80cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "c594ffda-4180-42e7-b11d-2e8ab1641069", "created_at": "2024-09-19T19:58:31.795048+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/c594ffda-4180-42e7-b11d-2e8ab1641069", "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-6156c56a-b5ad-4e6b-9006-3b4f3d92df08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6156c56a-b5ad-4e6b-9006-3b4f3d92df08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-783d4565-4f56-4082-bdcf-915472a0efe7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-783d4565-4f56-4082-bdcf-915472a0efe7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/058cf666-12d9-46d6-9dfd-6fb91a9a44f1 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/058cf666-12d9-46d6-9dfd-6fb91a9a44f1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9467c43a-818b-48b9-ae09-b35b918b68e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9467c43a-818b-48b9-ae09-b35b918b68e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/604e119d-9e0f-4b53-b8fa-33ff1d2be8df GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/604e119d-9e0f-4b53-b8fa-33ff1d2be8df {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0adda16c-3fb5-40b6-896d-da35f5839275 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_lessee_node_history_get_entry_reader [0.089788s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_third_party_admin_cannot_get_node_history [0.060774s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_observer [0.050765s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.069619s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.169482s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.201820s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.058459s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.057656s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.116628s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.127561s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5477fa0c-b351-4f94-a074-78ae51b680ae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d4c7f95e-807f-4798-93e5-d7e4f23ce927 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-83fb7f1a-31c5-43bf-b574-3e32049cf1d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a28aa128-4884-458e-8b6a-47b42beb9ec7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/59afb001-6534-4638-a1ed-e31a0084f9c8 GET: /v1/allocations/59afb001-6534-4638-a1ed-e31a0084f9c8 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45dd67d3-2fd9-4888-b134-fe316ac453cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 59afb001-6534-4638-a1ed-e31a0084f9c8 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/3184c852-6984-4c18-b3b5-def6dffc808f GET: /v1/allocations/3184c852-6984-4c18-b3b5-def6dffc808f {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d0904d9-f00e-4b1f-9b07-a3e52ab98fe9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3184c852-6984-4c18-b3b5-def6dffc808f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/75161747-b62c-47ea-85bc-15e9c7c06d3f PATCH: /v1/allocations/75161747-b62c-47ea-85bc-15e9c7c06d3f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79bc6e37-cbb0-492a-8ed3-f8c0b3d6bb8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 75161747-b62c-47ea-85bc-15e9c7c06d3f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/9b42550d-4193-4ea9-9a80-fa7f668fcafb PATCH: /v1/allocations/9b42550d-4193-4ea9-9a80-fa7f668fcafb [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fdc9d545-34be-4019-81be-0e4b3141c0fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9b42550d-4193-4ea9-9a80-fa7f668fcafb 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-bdc9736d-e9e4-47bb-a8fd-731a4f0ddd67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c867c3ba-53d3-4904-84c9-297cd605dfa3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f8a41d9f-9f54-49be-97be-d5ded8ccab99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ab420266-00df-4db2-a364-6e61a3346298 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-89c2e7e3-aa59-477c-aa1a-838460372b72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d28449a6-5f28-4d96-b7e1-5e84b83425cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/ce0d2aef-230b-43f4-aea3-0054dec6c167 GET: /v1/deploy_templates/ce0d2aef-230b-43f4-aea3-0054dec6c167 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_deploy_template_id_get_admin [0.054833s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_observer [0.052145s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_observer [0.056818s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.063621s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_delete_admin [0.066755s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.061979s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.122683s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.110635s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_member [0.052858s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.075199s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_patch_admin [0.053347s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.105198s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_member [0.093597s] ... ok GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-45628da9-ad40-4a76-9cae-e77dc6896905 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/31d52090-ddf6-45bf-a227-76b1cb0ad6b8 GET: /v1/allocations/31d52090-ddf6-45bf-a227-76b1cb0ad6b8 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a8b2b17-3f35-4695-b804-7059f4d1cc4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 31d52090-ddf6-45bf-a227-76b1cb0ad6b8 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-ab4df5fa-e137-4f3c-9e79-5aceb5892f7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52a7f37e-8369-4393-8753-d381b1113066 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/da03ecde-82c0-4dae-aaf8-3ad9274a7eda PATCH: /v1/deploy_templates/da03ecde-82c0-4dae-aaf8-3ad9274a7eda [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-01892a54-7e34-42f4-85b1-632bae19303b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-15108600-ac37-4f99-ac88-de488f0cb585 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9820a29d-46fd-43f8-a7de-1474ac43d222 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d7c5028a-e056-4305-bdb7-dd72833e45f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f4f0e55b-bcdc-4a4c-b1cf-9b344a08e8fd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2398ff92-7adc-40e9-afe1-67d452352cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11056789-4f1d-4e50-ad7c-8e4ab62b9f64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"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-9bef2717-15b3-4960-afdc-887c57a12770 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8aab45bb-04f5-4ede-8d64-3ad52e23c7a0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8aab45bb-04f5-4ede-8d64-3ad52e23c7a0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6b7a3979-72f5-476f-bd98-daff2ab8b946 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}] {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.108804s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.142921s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_observer [0.068271s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.050571s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.160046s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_observer [0.051101s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.183479s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.047020s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_004_nodes_post_reader [0.069948s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.066665s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.118220s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.115461s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.068156s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.055230s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.128694s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.116092s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.143907s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0adda16c-3fb5-40b6-896d-da35f5839275 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e726b431-f8f0-4853-b67e-57ab193556eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e726b431-f8f0-4853-b67e-57ab193556eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 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-ced149d8-84b5-4f66-bca1-6b28d63b4c27 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c2a2790a-25b9-4f06-83c2-38042dbb55f2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-13ee3b33-8bc0-4eb1-b58f-aef1ce1ebc2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2884b641-1401-4325-a7a9-6d8eb9f0afd6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18a5d2cb-17bd-4a41-bbc4-c09af437cf93 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88a9ff9c-3c27-4fc7-ac0f-2618daeddd57 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0aa84ea-002b-4e08-9d85-cc1f8d64e261 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2648776a-ef66-4da5-9dc8-5fa5efd7d212 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-80a4e478-ffd2-4a35-a2d7-ea5855695e4b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4d72704c-65ef-4d12-9a9f-8cc2a6e4a6dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-105dff30-a6aa-465c-9be3-7c0604b96bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-31384914-e9db-4120-83a3-08e9e18903bd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.111620s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.092611s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.052232s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-31ac322d-7565-495d-98ec-24122198228b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/df590f42-3a3f-4aad-a4ac-d431b63f90a6 GET: /v1/deploy_templates/df590f42-3a3f-4aad-a4ac-d431b63f90a6 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0c0422f2-cfba-4ea2-b451-00e519b38419 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/f57c8d5a-9859-4186-a5c4-566e8ef0f76f PATCH: /v1/deploy_templates/f57c8d5a-9859-4186-a5c4-566e8ef0f76f [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f3dadbca-e08c-4fa7-8e6e-555ebf50239d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/29bd4a77-c448-46c9-981e-469f39a1ea98 DELETE: /v1/deploy_templates/29bd4a77-c448-46c9-981e-469f39a1ea98 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1702e74a-76dc-4d11-8db8-f671d43dcde2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/5946db62-012d-4049-a15a-39a531a61c0e DELETE: /v1/deploy_templates/5946db62-012d-4049-a15a-39a531a61c0e GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a8e6fb29-6c29-418f-9def-d0777a57dbc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 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-463328d7-3af8-4215-9f29-d3f9c19251c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97aa7779-cf29-4ada-8f71-4f5e7bf0999d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b5c1836c-eb76-4471-8eb5-cd77aacc7e0e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/d86e0ede-6ac5-47be-97b9-138c5863d24d GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d86e0ede-6ac5-47be-97b9-138c5863d24d {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81772c9a-c755-4ee2-a073-2cb1d62e5a25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-43bf5f87-4127-49c8-8aca-2be27bc415d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-43bf5f87-4127-49c8-8aca-2be27bc415d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31f0d353-76a0-4f49-8214-0f422180240f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:32.888847+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:32.891167+00:00", "updated_at": "2024-09-19T19:58:32.894525+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "09b79528-33a8-43fd-8418-ffee026c7eb2", "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": "09b79528-33a8-43fd-8418-ffee026c7eb2", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:32.906118+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31f0d353-76a0-4f49-8214-0f422180240f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:32.888847+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:32.891167+00:00", "updated_at": "2024-09-19T19:58:32.894525+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "09b79528-33a8-43fd-8418-ffee026c7eb2", "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": "09b79528-33a8-43fd-8418-ffee026c7eb2", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:32.906118+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_detail_get_reader [0.063197s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_system_member_can_patch_conductor_group [0.074467s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_020_nodes_node_ident_patch_member [0.079012s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_024_nodes_node_ident_delete_reader [0.055057s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_validate_get_member [0.071371s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_validate_get_reader [0.063141s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1264295f-d2a4-4760-ae20-caaf2df2d678 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 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-b85c0e9a-1d1f-4d5c-913f-284d9efe3f88 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0e0a5010-0ec4-40bd-b1bb-3f003ce2948e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b09dc31f-3e7d-437f-b4dd-6992beaa1ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/ae023080-8d4a-4a15-bfa0-aec430272822 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ae023080-8d4a-4a15-bfa0-aec430272822 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-42fa2832-7452-4f50-a3a9-70fb65ae2777 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/51c027aa-2338-4c2e-95c8-bc5526c8e55e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/51c027aa-2338-4c2e-95c8-bc5526c8e55e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b9157c32-942e-4ee9-8cb2-bd9aa4ac8908 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ffef9e14-165a-4954-a992-a757969077a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-124c5ffc-3c27-49c9-9c25-329d181fc042 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9d69539b-f161-486a-a761-7149a9993ce1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d5220b31-7d14-4505-9a13-804f0b0ba256 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7959158c-6be9-4807-9b6d-b5a46faa0476 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a8d0531b-fad8-407e-898e-591bf730f2e7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0a009ff6-e94d-4bfa-a69a-5e40e64bf41e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a3dc137f-2f7e-4aed-96e7-75313e04c9eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.126918s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.156758s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.063946s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.145756s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_029_nodes_maintenance_put_member [0.062140s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.075636s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_maintenance_delete_member [0.065405s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.108159s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.124147s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_put_admin [0.083107s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_management_boot_device_put_member [0.090689s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.073643s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.051392s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.150687s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.063115s] ... ok 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-ae6c410c-e259-474d-85c3-fed70bf714a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ae6c410c-e259-474d-85c3-fed70bf714a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2ec045dd-df7d-4f81-9c25-15457e6e99ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2ec045dd-df7d-4f81-9c25-15457e6e99ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4c8348da-c62f-47b9-8ae5-187bb3b8a8ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c8348da-c62f-47b9-8ae5-187bb3b8a8ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-92ad3aef-1616-4f7b-9103-dd102bac1f9b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-92ad3aef-1616-4f7b-9103-dd102bac1f9b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f81db572-d7a9-4d3a-8b3b-ea499ee5a735 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f81db572-d7a9-4d3a-8b3b-ea499ee5a735 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-18cc896c-8bbd-4d8a-831c-2588a7dfa086 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-18cc896c-8bbd-4d8a-831c-2588a7dfa086 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b7a10cd0-21e4-4d05-8019-0a5f86f825af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b7a10cd0-21e4-4d05-8019-0a5f86f825af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a1b91cd6-da3a-4e51-89f7-e5e5b98462aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a1b91cd6-da3a-4e51-89f7-e5e5b98462aa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_038_nodes_management_boot_device_get_member [0.064096s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_observer [0.172819s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_042_nodes_management_boot_device_supported_get_reader [0.088647s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.060808s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.151156s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.051086s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_044_nodes_management_inject_nmi_put_member [0.100925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_082_nodes_traits_get_admin [0.094347s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_member [0.049448s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_member [0.050606s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.095474s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_member [0.065332s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_put_admin [0.060433s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_045_nodes_management_inject_nmi_put_reader [0.117985s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_post_admin [0.052433s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_observer [0.064579s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_observer [0.049228s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.138125s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.064417s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_states_power_put_admin [0.154624s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_observer [0.071861s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_put_admin [0.060053s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.137422s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_052_nodes_states_boot_mode_put_admin [0.148149s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.099173s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa1c72bb-69eb-418d-a40e-3167280f7c86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-64b9c040-6d23-46ba-ad9f-b79df46cbea7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7ce56d1b-2bb6-47c3-8e7e-8539a62b6c34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9233a80b-c621-4731-a231-c6b14229c049 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5f3adcac-a719-4f7c-8dc5-a1bcacad0754 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97cedb49-9452-4a20-8a84-bc791318f3bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e5ad50ed-3e98-40eb-a69e-a7eccd589652 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ff197990-df76-48e2-881e-7021fff80f41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0a0e550-4c5a-4303-80f2-11bc94798704 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-efeded16-4745-41f9-8970-795f180de87b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-313bd466-c9ea-4d88-9f67-e509d9c401b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-23ca28bf-c1b8-4ea2-a438-5c4c2c77891e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9f00c988-68a5-4136-8c4e-b2a77a9a0fad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0e6b0e71-9657-4317-85e5-d989515d9ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_observer [0.114171s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_member [0.270804s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_056_nodes_states_secure_boot_put_member [0.112766s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_member [0.075303s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.057579s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_109_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_rbac_legacy_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_111_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.TestRBACScopedRequests.test_system_scoped_061_nodes_states_raid_put_admin [0.123280s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_member [0.071646s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_114_portgroups_get_observer [0.059976s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-11d4f636-06c5-4b96-b891-cb0c88b31795 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-11d4f636-06c5-4b96-b891-cb0c88b31795 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7475a6ce-862e-4ac8-aebf-6b6bc548e948 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7475a6ce-862e-4ac8-aebf-6b6bc548e948 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-d5eaad4f-710a-4dc8-ae40-e3cae8177e85 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d5eaad4f-710a-4dc8-ae40-e3cae8177e85 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1be38ff0-689b-4a61-82b1-09ead44adf7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1be38ff0-689b-4a61-82b1-09ead44adf7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c12e0474-5425-498f-8a9f-1a0ffa4c01e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c12e0474-5425-498f-8a9f-1a0ffa4c01e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97a37dd8-6ada-4325-ba88-dd2516233d21 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-97a37dd8-6ada-4325-ba88-dd2516233d21 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-38ba40fb-d77f-46f8-b6f6-3deb5703c735 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-38ba40fb-d77f-46f8-b6f6-3deb5703c735 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b3baba04-cbe9-4c60-9884-be1e2b56baae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3baba04-cbe9-4c60-9884-be1e2b56baae X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_065_nodes_states_console_get_member [0.126225s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_115_portgroups_post_admin [0.099212s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_069_nodes_vendor_passthru_methods_get_admin [0.148465s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_member [0.061810s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a20812c3-e9e5-43ed-a19d-43c7d99df412 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c648c1ba-c827-4021-8781-5f4c0bfd7839 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac726e49-d6ad-40a5-bd9e-90bc4c2512f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bddcaa09-432d-48f7-96a1-005f59ae65ec X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a3775ca5-42ba-4edd-889b-146feb90a6dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c096c6cd-d3bd-4b58-8318-7b8a577cdc8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9382de18-8d57-4180-ae8b-647da907ee08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ba39c65-844a-4b23-8d87-a02e8b0c7d28 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3ae02296-95de-49d7-8364-86145ddeafe0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3abf5c0c-cc67-4088-9e68-482ccafe6fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-48715e00-db87-4ebd-b15a-c845e16e4b4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-56f0f350-6b5c-49d3-b87c-ef109fff3503 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95ff2bba-1bd2-468a-93eb-86f2ae54e921 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9f0f8df2-af72-4163-ad08-413bcfe12380 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_observer [0.059728s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_130_nodes_portgroups_get_admin [0.064337s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.464907s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.077894s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_observer [0.070757s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_071_nodes_vendor_passthru_methods_get_reader [0.118715s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_member [0.057893s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_118_portgroups_detail_get_admin [0.056191s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_138_ports_get_observer [0.062297s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_portgroup_ident_get_admin [0.056742s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb12954f-8b0e-4b0d-8be2-9a00c874fd6a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-387b11a7-3e2b-4da9-87d9-02fabe85c558 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ed2e3722-6b66-4ee5-a1a6-a83cd329c6c9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e25e7afa-a4ef-4d37-9618-8d75a9410a1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2dab4e22-1cb6-4f37-ba4f-92d2f258b41c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0a85886d-39ad-477c-ae15-969fb1f37fa7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3a945acd-1d38-4057-9947-b8c34e58680b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-212966f7-e3df-41e3-8248-b15642d41ec4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-052f4f39-aae2-4644-bd73-c0ddff8292f5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-04467201-ec04-4480-9e56-486814295645 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fd6146ba-bdba-40a2-a461-ea760e063160 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3f2ee3fb-d505-49be-a294-23d247c741c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ce79bbe0-085b-40d6-a51f-dffb7c589531 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4aabca13-8833-48a3-a0c4-cfacc30b1e0c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.122624s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_observer [0.060446s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_vendor_passthru_post_member [0.145772s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_member [0.079913s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_put_admin [0.128464s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_observer [0.055214s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_148_ports_port_id_patch_admin [0.069319s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_traits_delete_member [0.122246s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_delete_admin [0.087939s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_observer [0.110121s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_member [0.121820s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_traits_delete_reader [0.116717s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_067_nodes_vendor_passthru_methods_get_admin [0.104152s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_nodes_ports_get_admin [0.131000s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_observer [0.101122s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_096_nodes_traits_trait_delete_admin [0.121263s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_observer [0.125094s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_observer [0.113513s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_097_nodes_traits_trait_delete_member [0.116822s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_observer [0.106906s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_observer [0.476266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_member [0.167064s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a326d842-a6c5-4ea1-9e48-e3079952b987 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a326d842-a6c5-4ea1-9e48-e3079952b987 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3d8e3a57-bf95-4eb9-a841-586db92bdeb9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3d8e3a57-bf95-4eb9-a841-586db92bdeb9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ad497d8-33fb-4e40-bf25-3acd5319b2c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ad497d8-33fb-4e40-bf25-3acd5319b2c7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb2a9086-7fe6-4f3a-ac20-c82922ed0561 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb2a9086-7fe6-4f3a-ac20-c82922ed0561 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c73172cd-9cbb-496f-8bab-b7dbf6551fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c73172cd-9cbb-496f-8bab-b7dbf6551fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6770b544-62f6-407b-bb1c-a9c17a8fd56d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6770b544-62f6-407b-bb1c-a9c17a8fd56d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-2a6bbbdd-9bc1-4ead-878c-26585ce50b66 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2a6bbbdd-9bc1-4ead-878c-26585ce50b66 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5395629e-0d57-4971-89f4-584f3ae2ecee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5395629e-0d57-4971-89f4-584f3ae2ecee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_traits_trait_delete_reader [0.116056s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_member [0.098680s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_vifs_get_admin [0.123208s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_observer [0.141055s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_observer [0.143822s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_trait_put_admin [0.124677s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_103_nodes_vifs_post_member [0.126905s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_detail_get_admin [0.123805s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_volume_get_admin [0.113355s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_observer [0.074788s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_observer [0.050591s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_member [0.049425s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_105_nodes_vifs_node_vif_ident_delete_admin [0.171752s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_observer [0.174202s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_post_admin [0.058914s] ... ok 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-bb347df5-15ee-4b24-8d33-52165418f958 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6332268-09fb-43d5-abc9-cc0ada99dfac X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f6a51cf2-7b2f-4d43-84c1-c8cf73b8a37d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3c2fb0f6-5541-4ee0-95cc-8692d30e5871 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b70f679-7973-4e59-9523-dd724805f0d9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cf682b9c-3386-457c-9f38-e5e0365d96c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8c41827c-fecd-48cd-bd42-a8a272a1cd82 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7060a6f4-3af2-4afa-9ad2-261072fbfe2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f3109d9c-a975-46bc-99ea-00b10b5c4efc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ca8a8015-0030-4672-a2be-498d5d425e49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-acbacb47-380c-44a8-a45c-bf414e5f680d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5d17b57e-4462-4d0a-ab3d-e098800192a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-31d681f0-1cfb-463a-9c8b-83cfeeb4394e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-67eadad9-98a0-4adc-a715-54ef046a8b31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e9a8e6bd-559a-4963-82c9-3316107d0d3e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_observer [0.168206s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_node_vif_ident_delete_admin [0.051648s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_106_nodes_vifs_node_vif_ident_delete_member [0.109981s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_144_ports_detail_get_observer [0.141317s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_observer [0.133387s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_107_nodes_vifs_node_vif_ident_delete_reader [0.068682s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4bb8e3dc-8089-4d0f-bcbf-4be46dd80810 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-23f1e634-4699-4463-8db4-9084a4687b9b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ee98fa0c-294b-472d-89dd-5590baa7cd86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-90e68cfd-b700-455b-9e2f-ebaef6de95bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a4195295-4eeb-4833-bc29-f905075db907 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8590643a-580a-4088-a167-8635fe4200d0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9a335b03-8137-452f-b729-b2563d957a2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dfd3f0b7-3270-4b08-b99d-7f73a6d2b431 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-669ce9f9-7479-4341-86c3-c0369352b86b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-97a5ae84-7698-427e-abe2-0093e3129877 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea24eb34-8ba9-4fd7-aca5-97e39fec14f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-91368d61-b9b2-47ab-a0df-fb139ea19a2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cfba327c-fda0-4d1e-9930-32a7543cc24c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3d3728f7-885d-4190-9db4-50044f780c91 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_106_nodes_management_indicators_get_admin [0.066055s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_112_portgroups_get_admin [0.075783s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_member [0.048569s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_member [0.128081s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_portgroups_post_reader [0.124051s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-415d0f91-e269-4220-bcd4-adcfd7eb1041 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75cfe34c-1c8f-4ffd-bcce-3622d3033523 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d1b008d9-ff16-498b-95f9-cea49dc1738d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-009ae7ef-1a42-4eae-a154-87f537e12661 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5f17eca7-c585-4956-ae55-045381e7457c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8508f3c7-3d2a-499c-80cc-d399d375e6c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5de4a250-a92a-42b6-8373-c2e489be7688 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-72ab291d-fc47-4a8b-b62c-a43beb12a91c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-005d8082-fe12-4a73-b5d4-65031b408277 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5e53fe1b-8f23-48cb-856d-188963634a37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e2c8fdce-4acd-49f0-9aad-5f052c6f87b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6d11d86-cba4-4939-a828-5c99acb1331e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ee9fb2eb-e9fb-4dfb-b378-825d631b905a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"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-73fa0273-6552-46ee-931b-21d0fbbbac23 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5fdb66ef-8c32-4abe-b124-14d5b46835c4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_member [0.134774s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_observer [0.083903s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_observer [0.117812s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_member [0.051858s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.151718s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_observer [0.052958s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7b19d9b-debf-4b7d-b35d-dac1fc628c4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c7b19d9b-debf-4b7d-b35d-dac1fc628c4d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d4559f19-4a34-449e-9f81-d7d4aabe1ffe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d4559f19-4a34-449e-9f81-d7d4aabe1ffe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9131da3e-b64c-40c6-b06c-b6975ee5f4e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9131da3e-b64c-40c6-b06c-b6975ee5f4e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ab820d30-993a-49f2-97c3-db4d52530cd9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab820d30-993a-49f2-97c3-db4d52530cd9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b737d6b-3c11-42b6-9375-da40f5a848e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0b737d6b-3c11-42b6-9375-da40f5a848e5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-220b4eb0-30ef-4fe3-87be-dde70d5d113a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-220b4eb0-30ef-4fe3-87be-dde70d5d113a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"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-2a20e776-c19a-47d4-90ff-764247ce53b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2a20e776-c19a-47d4-90ff-764247ce53b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-49dfa2ff-15d8-4001-8b83-4f3e644105b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:36.347569+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"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_portgroups_detail_get_admin [0.103222s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_portgroups_portgroup_ident_get_member [0.059242s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_portgroups_portgroup_ident_patch_admin [0.065888s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_140_ports_post_member [0.096040s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.119930s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_member [0.184786s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_127_portgroups_portgroup_ident_delete_admin [0.072985s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_ports_port_id_get_admin [0.060521s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_portgroups_ports_get_admin [0.087450s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_observer [0.112838s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.114202s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_ports_port_id_delete_member [0.055607s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_detail_get_admin [0.058794s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_member [0.099585s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.112148s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49dfa2ff-15d8-4001-8b83-4f3e644105b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:36.347569+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-98c334d8-84be-4ea6-a22f-d7225cde5ae6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:36.409521+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-98c334d8-84be-4ea6-a22f-d7225cde5ae6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:36.409521+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-fb0c0d7d-18f7-4b98-a11c-0291f3018a20 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fb0c0d7d-18f7-4b98-a11c-0291f3018a20 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-033ba2c8-2e43-4473-9493-6ce982dfa343 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-033ba2c8-2e43-4473-9493-6ce982dfa343 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-68a40da8-70ac-4713-bd11-bf60466ab9c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:36.612119+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-68a40da8-70ac-4713-bd11-bf60466ab9c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:36.612119+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-37491a7e-a4d3-4ca7-be40-f5024c5232f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-37491a7e-a4d3-4ca7-be40-f5024c5232f1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_ports_detail_get_admin [0.063545s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_observer [0.129044s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_165_portgroups_ports_detail_get_reader [0.099731s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_member [0.120588s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_volume_get_admin [0.055795s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.113233s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_167_volume_get_member [0.066229s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_observer [0.047119s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_member [0.103833s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_connectors_get_admin [0.048181s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_169_volume_connectors_get_admin [0.066877s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_member [0.100612s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_observer [0.067872s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_volume_volume_connector_id_patch_member [0.066453s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_patch_admin [0.111323s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_observer [0.098152s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_post_admin [0.059964s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_member [0.072317s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_observer [0.096569s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_delete_admin [0.113843s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_190_volume_volume_target_id_get_admin [0.056152s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_182_volume_volume_connector_id_delete_member [0.240237s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_184_volume_targets_get_admin [0.109572s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.106431s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ce180e6-f13f-4b40-95b1-68364c24e2f2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-89e86dfa-2b58-4ac5-bfe1-7990eba97538 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f3f0c25-d430-4785-acd8-ed1cc684e5bf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-87615ca2-1a61-4258-93fe-22fcc55ff8ee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae1ba960-d5bd-4944-afc8-daeee01fb6af X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c7d16c54-3a08-4013-87cb-996001b513e3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-93570bf2-a06d-4246-bccc-252c4fa945a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f932deea-512e-4cc0-b8ed-454f6d225db2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3a322be9-022c-4917-965d-ef1d96805997 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-29322c6a-fa9d-4381-8f2f-1094ff939a58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f771a058-53ef-4936-b083-5f9780c9616f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b80bda4-8f1f-4bb1-b201-d15f93afd06e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-741c34fd-b0e1-4117-b1cb-fc4045a2a67a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-32be9ed1-45fa-41ee-997b-a75c6b82a50b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c741ce45-382e-486f-8010-fca6b07202ad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_patch_admin [0.066886s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_delete_admin [0.070314s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_observer [0.096072s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.105411s] ... ok 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-1ed61872-92a0-4969-9707-d67a4fadf3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:36.723234+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-1ed61872-92a0-4969-9707-d67a4fadf3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:36.723234+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-fba21455-fbf7-49af-b440-fdb1a27e402f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fba21455-fbf7-49af-b440-fdb1a27e402f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5333a4e1-2df6-4db0-b558-fbaabf018ec5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5333a4e1-2df6-4db0-b558-fbaabf018ec5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ebb7198c-9302-4001-98eb-f3a4d30cf4e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ebb7198c-9302-4001-98eb-f3a4d30cf4e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0035ee12-a010-46e9-b465-a981506c61b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0035ee12-a010-46e9-b465-a981506c61b6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1d55fe49-a283-4f45-8764-b0a385154d9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d55fe49-a283-4f45-8764-b0a385154d9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ac88d4ef-49b8-4483-89b8-88b4c0584df8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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"}]}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_volume_targets_get_member [0.109562s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_observer [0.114602s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.111196s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_volume_targets_post_admin [0.133279s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_member [0.058000s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b58cd209-0e8e-47fe-b44c-54a53b308e8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-543d520e-aa6f-4a35-b540-78591b0fe03d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6e9085ea-71a2-43e0-bb26-45bd41deeee6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dae5ad05-a09b-4066-9bdb-01077794f301 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e7d153d4-6116-4639-afff-7abbee73c18a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f5e6aaca-e66f-40b7-81c0-8543f51c83ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-216b89e4-12e7-42fd-949f-fa0c4cf2708a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-76957f14-fe05-4a44-b689-7a0c5c459602 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-569249d3-16de-4697-bd91-0279d80f2101 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f3cca824-ba42-4b0c-a1a1-10556af1087a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ae0b72db-7c0a-4b68-8c46-b0b9eececf0b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 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-213f83ea-b374-4055-a0a0-59d9b6ab328a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2fe1d01d-1f67-4c0c-befc-11106b9e8864 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea3dd617-1dea-41a0-8456-9cbab81a1789 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1faebc92-8b69-45fa-abdd-b59618d0c28b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_observer [0.123493s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_190_volume_volume_target_id_get_admin [0.072324s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_member [0.113143s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_214_drivers_properties_get_admin [0.127123s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_196_volume_volume_target_id_delete_member [0.065374s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_199_nodes_volume_get_admin [0.143310s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.064366s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_nodes_volume_connectors_get_admin [0.078578s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_observer [0.103208s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_observer [0.100727s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_213_drivers_properties_get_admin [0.084399s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83e334c9-d6a9-41c6-9493-f754eb862632 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0241ed74-c570-4ca7-aa1d-631816b21429 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ec82fc1-452e-4155-a580-7c8488966ca1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-879fa9af-c852-4ea5-8a53-838c35a9fe69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8bb5bdf5-9833-4cdd-b236-e094596dfa1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-837ee10f-8d46-47dd-9608-6e13b3e07d92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-81410653-b445-4066-8c2e-f289e1ba030e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6745cfc-71d4-43c7-90ae-1423bf92179a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-efa14737-f9ae-434f-ab82-ad185319bc04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a3b7eec2-1ce7-4975-94f6-a88113515873 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1b1f0f1f-6c5d-4661-852d-d9a980d26a89 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3fe90951-e71d-4232-bd2c-aecaf63e99a4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/7be03f9c-9c0b-4692-93bd-68ff0b6bf0b3 GET: /v1/allocations/7be03f9c-9c0b-4692-93bd-68ff0b6bf0b3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b586bc37-85be-49b8-90b0-ba63ee9adb70 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7be03f9c-9c0b-4692-93bd-68ff0b6bf0b3 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/cc359015-e1ca-4e90-a9d5-dcdb7632287e GET: /v1/allocations/cc359015-e1ca-4e90-a9d5-dcdb7632287e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8cd4a892-97c9-4ecf-b5a8-034546978f55 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cc359015-e1ca-4e90-a9d5-dcdb7632287e could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/79e4fc1c-9319-4df4-a199-b8ea417e78e3 DELETE: /v1/allocations/79e4fc1c-9319-4df4-a199-b8ea417e78e3 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.097198s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_post_admin [0.164537s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac88d4ef-49b8-4483-89b8-88b4c0584df8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/643eb26c-9521-4eb9-87ad-59c263c6b37f Openstack-Request-Id: req-5a51a0ea-1310-4f62-b662-b60f450cff64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "643eb26c-9521-4eb9-87ad-59c263c6b37f", "created_at": "2024-09-19T19:58:37.534147+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/643eb26c-9521-4eb9-87ad-59c263c6b37f", "rel": "self"}, {"href": "http://localhost/volume/targets/643eb26c-9521-4eb9-87ad-59c263c6b37f", "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/643eb26c-9521-4eb9-87ad-59c263c6b37f Openstack-Request-Id: req-5a51a0ea-1310-4f62-b662-b60f450cff64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "643eb26c-9521-4eb9-87ad-59c263c6b37f", "created_at": "2024-09-19T19:58:37.534147+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/643eb26c-9521-4eb9-87ad-59c263c6b37f", "rel": "self"}, {"href": "http://localhost/volume/targets/643eb26c-9521-4eb9-87ad-59c263c6b37f", "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-8b395f1b-74b6-4f14-a618-b5f15f73ad4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:37.586803+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-8b395f1b-74b6-4f14-a618-b5f15f73ad4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:37.586803+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-02b86525-d0d3-452f-ae01-e6b72b5fc804 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-02b86525-d0d3-452f-ae01-e6b72b5fc804 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a9f90fd5-ebc2-4a65-950f-1ab2053a83ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a9f90fd5-ebc2-4a65-950f-1ab2053a83ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8a9d95f2-dc76-4a2d-805d-eda373ffc210 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8a9d95f2-dc76-4a2d-805d-eda373ffc210 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-69e6fa8a-a970-4511-a760-87d27d2f161c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_drivers_vendor_passthru_get_admin [0.058883s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_connectors_get_admin [0.169639s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_drivers_vendor_passthru_post_reader [0.079284s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.164885s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_230_drivers_vendor_passthru_put_reader [0.058792s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_member [0.099197s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_observer [0.103303s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_delete_admin [0.116658s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_237_nodes_bios_bios_setting_get_member [0.073854s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_put_admin [0.102174s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_208_drivers_get_admin [0.098871s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_conductors_hostname_get_member [0.054438s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_member [0.110696s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_248_allocations_get_admin [0.072613s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_observer [0.101475s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_210_drivers_get_observer [0.102120s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.126371s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_member [0.073312s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-69e6fa8a-a970-4511-a760-87d27d2f161c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f053f9c-0f66-4684-bd68-4fcd9484723f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7f053f9c-0f66-4684-bd68-4fcd9484723f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-598a9161-a06e-45f2-bcf3-0fb7ea914880 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-598a9161-a06e-45f2-bcf3-0fb7ea914880 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0973e7bc-ff3e-471b-b68a-c41cdc1c27bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:38.091489+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-0973e7bc-ff3e-471b-b68a-c41cdc1c27bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:38.091489+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-931b11ab-cfb2-4c14-bbcc-8cb1530c36d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:38.147726+00:00", "updated_at": "2024-09-19T19:58:38.150963+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-931b11ab-cfb2-4c14-bbcc-8cb1530c36d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:38.147726+00:00", "updated_at": "2024-09-19T19:58:38.150963+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-29a94621-43be-43bd-925e-6aa5f1c0909f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "70f82e63-6928-4770-8b6f-f0d007ff896c", "created_at": "2024-09-19T19:58:38.206293+00:00", "updated_at": "2024-09-19T19:58:38.212098+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/70f82e63-6928-4770-8b6f-f0d007ff896c", "rel": "self"}, {"href": "http://localhost/allocations/70f82e63-6928-4770-8b6f-f0d007ff896c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-29a94621-43be-43bd-925e-6aa5f1c0909f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "70f82e63-6928-4770-8b6f-f0d007ff896c", "created_at": "2024-09-19T19:58:38.206293+00:00", "updated_at": "2024-09-19T19:58:38.212098+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/70f82e63-6928-4770-8b6f-f0d007ff896c", "rel": "self"}, {"href": "http://localhost/allocations/70f82e63-6928-4770-8b6f-f0d007ff896c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/aed80a6c-474c-415f-af82-696682a7aa76 GET: /v1/allocations/aed80a6c-474c-415f-af82-696682a7aa76 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ad2c69b-9771-4c5d-87ad-af0272eb7771 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "aed80a6c-474c-415f-af82-696682a7aa76", "created_at": "2024-09-19T19:58:38.263810+00:00", "updated_at": "2024-09-19T19:58:38.269838+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/aed80a6c-474c-415f-af82-696682a7aa76", "rel": "self"}, {"href": "http://localhost/allocations/aed80a6c-474c-415f-af82-696682a7aa76", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_251_allocations_allocation_id_get_admin [0.052181s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_allocations_allocation_id_delete_admin [0.081995s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_observer [0.047195s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_member [0.149368s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_raid_logical_disk_properties_get_admin [0.045016s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_nodes_allocation_get_admin [0.069196s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_member [0.062511s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_get_admin [0.171315s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_deploy_templates_post_admin [0.091562s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_observer [0.045083s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_240_conductors_get_admin [0.162853s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_vendor_passthru_methods_get_admin [0.062709s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_deploy_templates_post_member [0.106097s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_member [0.140745s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_deploy_templates_get_member [0.055989s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ac07530-dbc0-4015-816d-042712a3615b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cd4c56b5-c943-48dc-904e-e0870e952d7a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6bc9c63d-c098-4d4e-a99d-4683987eec8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1ee6e01-c91d-4bfa-897b-ffa2a4c6cabd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cb3870cc-aac0-49ee-a69d-8c4279e3fa69 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f26ced79-3af2-47cc-8733-c9b8d04a68b9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ad2aedfa-19bb-40f6-833e-1f2a93dfcc75 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3944da1d-e167-43e4-a8d5-2a7b526edebe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fcda6a6d-8b85-4947-a8fe-9d86191b2f4c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1ae7d385-22ae-42b1-8bae-5394be7ef514 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ab8991a9-458e-44cd-bd71-9b47b87f995e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0b927508-337b-4908-95b2-f22121f322c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a49cdc3a-1aa6-4c2c-b783-2ec97519e17d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_member [0.046696s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_member [0.159568s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_observer [0.054733s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_member [0.059996s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_member [0.164405s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_observer [0.067661s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ad2c69b-9771-4c5d-87ad-af0272eb7771 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "aed80a6c-474c-415f-af82-696682a7aa76", "created_at": "2024-09-19T19:58:38.263810+00:00", "updated_at": "2024-09-19T19:58:38.269838+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/aed80a6c-474c-415f-af82-696682a7aa76", "rel": "self"}, {"href": "http://localhost/allocations/aed80a6c-474c-415f-af82-696682a7aa76", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/30c8edf7-4896-4740-821f-dd85789c0374 DELETE: /v1/allocations/30c8edf7-4896-4740-821f-dd85789c0374 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5dc28db0-6491-4657-8ed3-723fa5728a19 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5dc28db0-6491-4657-8ed3-723fa5728a19 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d053f52e-017a-40b9-9165-3d76ad4549cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "created_at": "2024-09-19T19:58:38.396960+00:00", "updated_at": "2024-09-19T19:58:38.403850+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "rel": "self"}, {"href": "http://localhost/allocations/f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d053f52e-017a-40b9-9165-3d76ad4549cb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "created_at": "2024-09-19T19:58:38.396960+00:00", "updated_at": "2024-09-19T19:58:38.403850+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "rel": "self"}, {"href": "http://localhost/allocations/f67afb67-78dd-4bcf-8c6c-43ee910c3c55", "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/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a Openstack-Request-Id: req-7d80ee8a-548f-4b2c-a353-696c4e6574ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "created_at": "2024-09-19T19:58:38.530940+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "rel": "self"}, {"href": "http://localhost/deploy_templates/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "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/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a Openstack-Request-Id: req-7d80ee8a-548f-4b2c-a353-696c4e6574ca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "created_at": "2024-09-19T19:58:38.530940+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "rel": "self"}, {"href": "http://localhost/deploy_templates/2928a83c-3bc8-41ad-ac6f-96c2c9e1937a", "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-68a49218-0bf3-4760-9af5-4d73497b511c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-68a49218-0bf3-4760-9af5-4d73497b511c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c119c2a4-4e30-4c88-a33d-7e3b0d91b874 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "6e069b5b-5b4e-4a56-9592-ce14b97707e8", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6e069b5b-5b4e-4a56-9592-ce14b97707e8", "rel": "self"}, {"href": "http://localhost/deploy_templates/6e069b5b-5b4e-4a56-9592-ce14b97707e8", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c119c2a4-4e30-4c88-a33d-7e3b0d91b874 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "6e069b5b-5b4e-4a56-9592-ce14b97707e8", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6e069b5b-5b4e-4a56-9592-ce14b97707e8", "rel": "self"}, {"href": "http://localhost/deploy_templates/6e069b5b-5b4e-4a56-9592-ce14b97707e8", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73 GET: /v1/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_deploy_templates_deploy_template_id_get_member [0.114965s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_276_deploy_templates_deploy_template_id_patch_member [0.062876s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_observer [0.092727s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_observer [0.068151s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.047716s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3351740-a131-4f0e-bbc9-86eddee62ceb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a3662eec-a796-4d71-bfbb-4c423bd7cd8b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e8279a0b-1bd3-4a9a-9330-12be2af82a3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a44c8b59-4f7d-499f-aead-cac9cf2d147e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-108724da-8497-4565-8664-911c1eb4fbe2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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?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-82cb94bd-f1ac-49cb-8a22-1387068a9f4b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a9678825-6592-49d4-a6c0-7aba1b43f911 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e8eb00a0-91c7-470f-912f-c7758ab9cdd5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-455a78b7-d792-493e-a70a-489eac03473a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a1319d1e-e357-4961-ab6e-3cec38dd7b0b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d704f4a9-a175-44d9-bf4f-5a1e41793898 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-870cbb59-b626-4588-a8e8-45386aefa925 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8f21e989-4cba-4a6d-a98a-d8ccf25f1943 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_observer [0.159735s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_277_deploy_templates_deploy_template_id_patch_reader [0.108562s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_observer [0.049543s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_observer [0.057835s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_279_deploy_templates_deploy_template_id_delete_member [0.063338s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_member [0.059228s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.055285s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_246_allocations_post_admin [0.191645s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_patch_admin [0.046309s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_289_chassis_detail_get_reader [0.062799s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.060863s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_member [0.049190s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_298_chassis_chassis_id_delete_reader [0.060714s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.076176s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_member [0.069586s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_248_allocations_post_observer [0.205056s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2184a04-06e7-4bc2-bb89-fde5cde62588 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "created_at": "2024-09-19T19:58:38.793229+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "rel": "self"}, {"href": "http://localhost/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "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-d2184a04-06e7-4bc2-bb89-fde5cde62588 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "created_at": "2024-09-19T19:58:38.793229+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "rel": "self"}, {"href": "http://localhost/deploy_templates/ed551ba1-abd1-4895-bf3c-fdfa257b6d73", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/62becb0a-4ba5-47e2-a6e0-47122e8a1247 PATCH: /v1/deploy_templates/62becb0a-4ba5-47e2-a6e0-47122e8a1247 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6bdc03d3-5cbb-4b13-b5da-88d46df16142 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6bdc03d3-5cbb-4b13-b5da-88d46df16142 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/a6504833-4e66-4fc3-a8a0-ff35223e7019 PATCH: /v1/deploy_templates/a6504833-4e66-4fc3-a8a0-ff35223e7019 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-07bcca30-f5dc-40cd-b3d2-b11e8f80d350 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-07bcca30-f5dc-40cd-b3d2-b11e8f80d350 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/1b4ed89c-816e-45ec-afc0-1731592590bd DELETE: /v1/deploy_templates/1b4ed89c-816e-45ec-afc0-1731592590bd GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-57478f71-070b-4412-9dd3-8d21218a310b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-57478f71-070b-4412-9dd3-8d21218a310b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3552ef8-1277-4f85-bd5b-0af5c43af2a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:39.082471+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-b3552ef8-1277-4f85-bd5b-0af5c43af2a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:39.082471+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-4f826986-e200-42e4-aad3-e92483125620 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4f826986-e200-42e4-aad3-e92483125620 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-791b78d7-c55b-4cd4-8eb3-3e39438412ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "19da89f3-be1f-4fe5-a4fb-151f234a9833", "created_at": "2024-09-19T19:58:39.212732+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/19da89f3-be1f-4fe5-a4fb-151f234a9833", "rel": "self"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_node_history_get_reader [0.052752s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_node_history_get_entry_member [0.078040s] ... ok {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.020131s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_observer [0.107502s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.025653s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6dfb88e9-66d1-44fe-a30e-e9ef65ce8a04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 79e4fc1c-9319-4df4-a199-b8ea417e78e3 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/34fcdb4e-bc98-4199-9b43-4d0878a27547 DELETE: /v1/allocations/34fcdb4e-bc98-4199-9b43-4d0878a27547 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-42e3808c-6f43-4421-b301-5c5817c75777 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 34fcdb4e-bc98-4199-9b43-4d0878a27547 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-bccc027a-b21c-4091-a8cf-3e4d8ed6bdc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-46c7849a-e570-4953-be31-42190c9e2a30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/4cb3050f-cac8-4991-8461-7c43a1419edd PATCH: /v1/deploy_templates/4cb3050f-cac8-4991-8461-7c43a1419edd [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4ab6c4f5-64f0-48e2-8e67-62455bce02ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0d435a71-31a6-460d-b928-452bb50b2f1b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-aa8c2f2b-b91b-4829-b297-6907291063fe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-901f54d8-59ce-400e-83a0-13771c582628 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e8112d77-cdaa-4da9-8bf0-80f7bec34499 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0f46bd45-99ed-4c15-9734-c3815fd40797 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/205b4852-f7bf-4409-bc01-274fbbc8a1a6 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/205b4852-f7bf-4409-bc01-274fbbc8a1a6 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f51f5181-bf2a-4fc5-b73f-e0e72eb4ee22 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c9e9cc6b-9eef-4502-a28e-e6b66c587336 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6c0d439e-724c-4e72-b9d2-acfd4f636282 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb8b8a9d-4c43-447b-90b4-a7ae5c020f33 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"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'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.088877s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.051046s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.047761s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.066112s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_member [0.101744s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.051191s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_member [0.174445s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.041166s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.100797s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.045248s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_member [0.113722s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_observer [0.118356s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.047434s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.031621s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.108101s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.036871s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_observer [0.111246s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ca3fd39f-b867-4c50-bfbe-354d38604e51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6ddaf04-29ea-425d-8fa2-8d6f7c8e4a5e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b246590c-2ef8-418d-9a46-ff477f60527a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-23bc34dd-771c-43fb-8bfe-13e0d8b03b1d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-27b9c1bb-b01b-4fe0-b7fb-aa1a4d04e006 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 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-b0c2cd4f-0c11-4575-a802-d25bc79f141b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/999a6400-b3d5-4b8a-8821-eb03344ec39f GET: /v1/deploy_templates/999a6400-b3d5-4b8a-8821-eb03344ec39f {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-54e76947-dc0c-416a-8430-18ef3820e0b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/6bc6bd20-2b2d-416a-8eb6-fbbd2d595be4 PATCH: /v1/deploy_templates/6bc6bd20-2b2d-416a-8eb6-fbbd2d595be4 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3d2fc478-4054-41a2-a7f9-5e990bd378df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/ffbedba0-007e-4849-af76-d12f0942c122 PATCH: /v1/deploy_templates/ffbedba0-007e-4849-af76-d12f0942c122 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dad00250-209f-4dd1-91b8-b78ec91c51ba X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b9cc2592-c36e-44b3-9b43-41a4254e1e1f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dbb90f9b-88d4-4e51-8e99-ae35b5c1b6f3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4d64af09-8e01-44b0-b511-49ac0e465a8d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12768150-fcd1-49d6-bcd4-f9ee2c6bb362 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_member [0.102715s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.117776s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_get_node_admin [0.142509s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.153196s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.069331s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_member [0.192623s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.147851s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.062418s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_member [0.092372s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7c4ff052-97e1-4a41-8a37-1b350015f181 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52db921e-2e03-40e1-a49e-33c65ec211cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:39.705680+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-52db921e-2e03-40e1-a49e-33c65ec211cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:39.705680+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f41efd0-8362-48e4-a5e6-c61d73baf2b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "c4460280-53c1-4cf6-8cc9-356c37b88c6c", "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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_009_nodes_get_admin [0.144273s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.063030s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_get_admin [0.048286s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_observer [0.174189s] ... ok {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.057870s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_observer [0.057242s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.051956s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_put_admin [0.050302s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f41efd0-8362-48e4-a5e6-c61d73baf2b8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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": "c4460280-53c1-4cf6-8cc9-356c37b88c6c", "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-c614c337-70b5-4651-9804-74dce40e7a37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:39.966534+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:39.969427+00:00", "updated_at": "2024-09-19T19:58:39.972512+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "bcb6a62a-955f-4f87-8e69-e433f0d7a5c2", "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": "bcb6a62a-955f-4f87-8e69-e433f0d7a5c2", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:39.984441+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c614c337-70b5-4651-9804-74dce40e7a37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:39.966534+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:39.969427+00:00", "updated_at": "2024-09-19T19:58:39.972512+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "bcb6a62a-955f-4f87-8e69-e433f0d7a5c2", "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": "bcb6a62a-955f-4f87-8e69-e433f0d7a5c2", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:39.984441+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"}]}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_012_nodes_detail_get_member [0.067917s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_node_ident_get_admin [0.053504s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.067062s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_observer [0.061359s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_261_nodes_allocation_get_admin [0.173220s] ... 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-dbe1c5d1-0e59-422e-9d9a-f5d0fbb8fa51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:40.026992+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-dbe1c5d1-0e59-422e-9d9a-f5d0fbb8fa51 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:40.026992+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.TestRBACScopedRequests.test_system_scoped_016_nodes_node_ident_get_reader [0.072243s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_delete_admin [0.065952s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.068376s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_member [0.089638s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.057386s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_observer [0.063072s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.061742s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_delete_admin [0.163061s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.057553s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_delete_member [0.223939s] ... 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.038947s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f94326bb-db88-4fe3-b855-746879558fb9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a9d22c77-ffb9-47a3-beae-c6d302b95249 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9967aa86-89bc-49d2-ba6f-c9086c4ddc58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-26a16a60-aa34-4347-873d-3c4ddb68dd5b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-51815b81-10b7-48de-9766-5aace4e44076 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f923fc90-6c68-4efe-a86b-fab74788c621 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3a18240d-95c5-4f07-927b-17915d1e3d42 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-13748074-d462-4366-9dd6-b4760d81729a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d3c1e43c-1c51-414e-8dc3-a6ec37592074 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b560abe3-dd75-44b0-b09d-46fa6e59a416 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a9bfdc61-daa5-48a2-a22b-9fd5e30825b4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95a04ac7-bd11-42c8-85b8-3f7df63bad2e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e698555c-b34f-417e-a2d8-c3f189e983a8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-15751424-1c3a-431d-b83b-369f6d414774 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_member [0.057269s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_observer [0.109638s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.054034s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_member [0.169714s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5a4cd96-651a-48c8-aa31-fb7f2af27eaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:40.084222+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-d5a4cd96-651a-48c8-aa31-fb7f2af27eaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:40.084222+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a3da285-a23d-4205-a474-042829f78481 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a3da285-a23d-4205-a474-042829f78481 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d364329d-c09f-48ef-877a-43cac007e067 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d364329d-c09f-48ef-877a-43cac007e067 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-4adb0a89-c59a-45aa-88ca-e07eca2037c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_nodes_validate_get_admin [0.070704s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_maintenance_delete_admin [0.057668s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.045531s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.037046s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_maintenance_delete_reader [0.094876s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.039679s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_member [0.052271s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.042787s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_040_nodes_management_boot_device_supported_get_admin [0.053248s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_deploy_templates_post_admin [0.157473s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.039975s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_states_power_put_reader [0.065652s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.039883s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_states_boot_mode_put_reader [0.051404s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.080080s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_chassis_post_admin [0.147900s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_secure_boot_put_reader [0.076598s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.061456s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_member [0.269737s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_observer [0.118328s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_130_nodes_portgroups_get_admin [0.060166s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.075117s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_064_nodes_states_console_get_admin [0.126045s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_member [0.066654s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.075272s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.050819s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b15f2e7d-1bfd-4497-bb3e-3dd393fe3175 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-59448466-b6e3-40ec-aec0-6b653459b8cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2365cb68-7add-4e2e-9370-58b2276b5c08 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-33549b7e-616e-4841-98f8-be2d33ff4cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/c3ef0b3f-abb2-47ef-b57f-46cbbb8aa8e7 GET: /v1/allocations/c3ef0b3f-abb2-47ef-b57f-46cbbb8aa8e7 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4042df93-183a-4028-aedc-0b84540c5533 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c3ef0b3f-abb2-47ef-b57f-46cbbb8aa8e7 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/a5474fa8-aee6-40a6-9539-8ed8f4bdcfa8 PATCH: /v1/allocations/a5474fa8-aee6-40a6-9539-8ed8f4bdcfa8 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68fb0bbd-f231-4311-a95f-ba0f31825168 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation a5474fa8-aee6-40a6-9539-8ed8f4bdcfa8 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/391b5f4c-5a38-4419-a17e-cb7ad9c0aab4 DELETE: /v1/allocations/391b5f4c-5a38-4419-a17e-cb7ad9c0aab4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-724e6fd8-9a28-4fae-8b18-f731da25a84f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 391b5f4c-5a38-4419-a17e-cb7ad9c0aab4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/a946e577-8c2b-43a3-ae13-116be1aa0073 DELETE: /v1/allocations/a946e577-8c2b-43a3-ae13-116be1aa0073 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-765e26f3-812c-4894-9a62-13e1090c3a03 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation a946e577-8c2b-43a3-ae13-116be1aa0073 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-57bd43a2-dc51-41a5-9ad8-e6ad451ba2be X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2d43d07c-3352-4d6c-b254-98161f33d835 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-219b80a4-13a9-4ccb-8087-07ab68137982 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2b46ca70-5db9-467d-a629-c6d20058a2e9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a69b619d-ffbe-4ac2-8f51-e3fa3a2629e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-473b73b4-a966-44bb-98e1-5e7a7cfa7a31 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_get_admin [0.109160s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_member [0.131541s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.090326s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4adb0a89-c59a-45aa-88ca-e07eca2037c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c708ee4a-c2dd-4939-b64d-e08d13dbc0a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c708ee4a-c2dd-4939-b64d-e08d13dbc0a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fb72e6da-24d5-4ebe-a3b5-8cae63ae6b8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fb72e6da-24d5-4ebe-a3b5-8cae63ae6b8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7b3721ea-4353-46ee-adf7-183a0e8f8caa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7b3721ea-4353-46ee-adf7-183a0e8f8caa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-293952ce-c2cd-4334-8068-51fdf67e0549 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-293952ce-c2cd-4334-8068-51fdf67e0549 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f5c3362-2a37-4b3a-95fb-d8f8b1763c2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f5c3362-2a37-4b3a-95fb-d8f8b1763c2d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11a07d63-c99d-4313-8d70-dffdcb43e213 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-11a07d63-c99d-4313-8d70-dffdcb43e213 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78617f84-5263-40b8-bf25-dd7960192c66 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-78617f84-5263-40b8-bf25-dd7960192c66 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?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-abd2e9f9-48ed-413d-ab58-685a6159de25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_072_nodes_vendor_passthru_get_admin [0.080551s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_vendor_passthru_post_admin [0.069218s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_078_nodes_vendor_passthru_put_admin [0.068477s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_member [0.061592s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.045920s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_detail_get_admin [0.167071s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_vendor_passthru_delete_admin [0.055331s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.048398s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_post_admin [0.084360s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.034704s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_vendor_passthru_delete_reader [0.054228s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.051511s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_detail_get_admin [0.051748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_traits_trait_put_admin [0.052986s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_observer [0.160919s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.033187s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.031095s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_143_ports_detail_get_member [0.064506s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.023750s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_observer [0.052759s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_traits_trait_put_member [0.115545s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.048210s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_observer [0.109977s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_observer [0.059383s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.041098s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.039809s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_member [0.054772s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_vifs_post_admin [0.127794s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_observer [0.115460s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.061755s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_detail_get_admin [0.067215s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.043446s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.057380s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_observer [0.114807s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.049276s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-16175a3f-42db-4ca2-888b-df1dfe50e042 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7e70d249-f905-483c-b6fa-e1f545021589 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e37e2344-7123-4439-919c-1fece041f0f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9e1ef2ea-4f35-47f6-b4f8-a27a7514901c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c17816be-916e-4494-b7b8-86056fe98bf3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-60dae634-988b-4472-9021-9c0274504057 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea84c58a-f0eb-4b8d-a086-d2fa03a56225 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52252c40-9ee5-424f-b22f-26e9f6c9d5bc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-749d4255-d026-42fc-80a8-346c78180477 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a60b168c-b88f-4864-beba-456bcc2e350e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-645417eb-902a-4516-ae8a-5329cf45e2e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-83fd9df7-be06-4b76-ae97-597771b5f041 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c6317929-1706-4262-907a-2416fcc3cee6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-594635ad-4538-40f3-b6f1-81eb2fb1f6dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-90b9e649-a727-409e-b6c9-e69edbe8b026 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_observer [0.077369s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_172_volume_connectors_post_admin [0.090726s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_303_node_history_get_entry_admin [0.117654s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.092007s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_member [0.063559s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-abd2e9f9-48ed-413d-ab58-685a6159de25 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-01d2323c-50b0-4f98-8af6-bdc56f0148fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-01d2323c-50b0-4f98-8af6-bdc56f0148fa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b7282748-235c-4997-869a-725d9543d22f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b7282748-235c-4997-869a-725d9543d22f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b21651bf-1042-4ba9-9741-545faec03e96 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b21651bf-1042-4ba9-9741-545faec03e96 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6afec84-3358-43c7-a045-7a7b6e675bc7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b6afec84-3358-43c7-a045-7a7b6e675bc7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/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-e94cfefd-72f5-4dd6-832d-1d18180e365e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e94cfefd-72f5-4dd6-832d-1d18180e365e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-24e82b93-f968-4aa5-b018-445efec7dd18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-24e82b93-f968-4aa5-b018-445efec7dd18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c757d56d-6c68-4b8c-b77d-1042f7d7215d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c757d56d-6c68-4b8c-b77d-1042f7d7215d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ccf35635-1090-4f9d-8f9c-dce20e756517 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_portgroups_get_member [0.126176s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.049218s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_portgroups_get_reader [0.107869s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_observer [0.059122s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.030879s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.147168s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_volume_connector_id_get_admin [0.051782s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.039047s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_portgroups_portgroup_ident_patch_member [0.064274s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.033114s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_portgroups_portgroup_ident_patch_reader [0.067013s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.055767s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_185_volume_targets_get_member [0.096150s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.047051s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_003_nodes_post_member [0.148038s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_observer [0.056934s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_capture_region [0.023795s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_128_portgroups_portgroup_ident_delete_member [0.110344s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like [0.040910s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_observer [0.059881s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_130_nodes_portgroups_get_admin [0.100398s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_member [0.075259s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f60ea2be-305c-49f8-a143-18f95649dc7b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5ef766ff-1db2-467b-b2ee-1bf2d51a65c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6e2e6a30-8a38-426c-a2f4-1cafb32c5fa8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fa11335a-8c6a-4d02-80ed-22acbf4d3758 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-be064e99-8ab6-4a18-9d1e-0414ae5131d6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4a709873-b9ae-4bbd-80f0-508433c31d78 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/06c1cd30-7753-41b9-90e4-99173530bd0d GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/06c1cd30-7753-41b9-90e4-99173530bd0d {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a482992a-b09c-4c49-8474-1d9db2563100 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0984ffdb-f75f-493e-90eb-d76db4f40fcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0984ffdb-f75f-493e-90eb-d76db4f40fcd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-94a4d1a1-4ede-47f3-b83e-04e5dad0c7d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-94a4d1a1-4ede-47f3-b83e-04e5dad0c7d7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_007_nodes_get_node_reader [0.154069s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_member [0.086335s] ... ok /bin/sh: line 1: mkisofs: command not found {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... SKIPPED: mkisofs not installed ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ccf35635-1090-4f9d-8f9c-dce20e756517 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c361a4e3-5420-4bc8-8141-d1651e287e4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c361a4e3-5420-4bc8-8141-d1651e287e4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 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-4ad62f7d-136f-47f2-837b-c97754fdf842 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ad62f7d-136f-47f2-837b-c97754fdf842 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6abf6aff-4b4a-4bb0-b62b-037dc95bb082 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6abf6aff-4b4a-4bb0-b62b-037dc95bb082 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1512209d-fc10-49d4-aac2-16f63236cc41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1512209d-fc10-49d4-aac2-16f63236cc41 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-835cca5f-c032-45cc-bcac-f74833192620 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-835cca5f-c032-45cc-bcac-f74833192620 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d13687e-c0b7-407a-8b2d-fe9478538bc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:42.367772+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"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_nodes_portgroups_detail_get_admin [0.079875s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_141_ports_post_reader [0.097168s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_observer [0.115973s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_ports_detail_get_admin [0.073340s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_211_drivers_driver_name_get_admin [0.082153s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_member [0.055871s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_ports_port_id_get_reader [0.097602s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f348d367-d601-41e4-9e0c-f21bcd3bd3df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:42.233370+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-f348d367-d601-41e4-9e0c-f21bcd3bd3df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:42.233370+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-229a572f-9226-4bd3-970e-5cb8d7c3c4f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:42.393343+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:42.395759+00:00", "updated_at": "2024-09-19T19:58:42.409555+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "7dbcba80-551a-4b2f-aac3-1bc26fdfcb6d", "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": "7dbcba80-551a-4b2f-aac3-1bc26fdfcb6d", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:42.421296+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-229a572f-9226-4bd3-970e-5cb8d7c3c4f7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:42.393343+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-19T19:58:42.395759+00:00", "updated_at": "2024-09-19T19:58:42.409555+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "7dbcba80-551a-4b2f-aac3-1bc26fdfcb6d", "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": "7dbcba80-551a-4b2f-aac3-1bc26fdfcb6d", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-19T19:58:42.421296+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_011_nodes_detail_get_admin [0.139236s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_system_admin_can_patch_chassis [0.191502s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_150_ports_port_id_patch_reader [0.066295s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_member [0.075908s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_patch_reader [0.149146s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks [0.399059s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_ports_port_id_delete_reader [0.090139s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_maintenance_put_admin [0.121151s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-918e14f9-46b7-4c3d-b8e2-f5fa01c50670 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 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-b6d8db82-88db-416b-b81b-dfb8ec9680cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a81b655e-6899-4aa9-81e5-a2beed530bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-52e709ca-3075-46f4-884f-e0924ea6c7cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a5697336-fd47-4452-8b03-c1f7b3a2409f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-713e5e00-e6f1-4606-a875-aaeba27e88e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b697e242-87f5-4d2f-b947-e1692b63f7d3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6529e01f-6660-436f-99ba-7b8d65103105 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75dfeda0-07e2-4ff4-b50a-157016181547 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea8eaaea-3887-4eaf-a9d1-0a2594026feb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f5a0786e-b3df-4f61-a19a-7e037d8e8067 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5281c04c-e8c9-4f03-ad3f-880838eb1615 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0562b6e5-e1aa-4788-98e6-77786d44931d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-70d5ae96-2eb9-446e-a910-9395247d8431 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_observer [0.123524s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_get_admin [0.109377s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d13687e-c0b7-407a-8b2d-fe9478538bc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:42.367772+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-e257a89f-96ea-4c5b-bdf2-60a0c9bfb12d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e257a89f-96ea-4c5b-bdf2-60a0c9bfb12d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a05b725b-9627-412b-bfad-5af8252b9108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:42.538685+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-a05b725b-9627-412b-bfad-5af8252b9108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:42.538685+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-11936fd9-620a-47c0-98f4-bc7ef01a79de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:42.637766+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-11936fd9-620a-47c0-98f4-bc7ef01a79de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:42.637766+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20b680d3-e5c3-4320-8569-b91a1f74ab7f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-20b680d3-e5c3-4320-8569-b91a1f74ab7f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-64aa5ff3-ba51-4eed-8c91-ce70ff10400a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-64aa5ff3-ba51-4eed-8c91-ce70ff10400a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_ports_get_member [0.088054s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_portgroups_ports_get_admin [0.107495s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_member [0.071996s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_maintenance_put_reader [0.133625s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_242_conductors_get_observer [0.050732s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_161_portgroups_ports_get_member [0.079242s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_observer [0.055171s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_163_portgroups_ports_detail_get_admin [0.075177s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_management_boot_device_put_reader [0.138486s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_delete_admin [0.094749s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_member [0.066743s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_037_nodes_management_boot_device_get_admin [0.117180s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_176_volume_volume_connector_id_get_member [0.175774s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_observer [0.088698s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_039_nodes_management_boot_device_get_reader [0.121706s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_177_volume_volume_connector_id_get_reader [0.111374s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_member [0.062657s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_291_chassis_chassis_id_get_admin [0.059044s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_volume_volume_connector_id_patch_admin [0.064514s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_043_nodes_management_inject_nmi_put_admin [0.112021s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhd [0.767132s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhd_invalid [0.014771s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_delete_admin [0.080511s] ... ok {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.048402s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_300_node_history_get_admin [0.051506s] ... ok {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.016294s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec09d21b-9836-43ef-931d-4aab7b9e3005 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ec09d21b-9836-43ef-931d-4aab7b9e3005 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-80f4b647-3884-41e3-bf31-0c9426f8b3e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80f4b647-3884-41e3-bf31-0c9426f8b3e2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b4e7d813-be6f-424a-83bd-62c8d5c2eca8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4e7d813-be6f-424a-83bd-62c8d5c2eca8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c2811af1-412c-4bbe-8d42-0bb7a339801c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2811af1-412c-4bbe-8d42-0bb7a339801c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} 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-62476fb7-7b05-47ac-ba5e-92455cc55f92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.296048+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-62476fb7-7b05-47ac-ba5e-92455cc55f92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.296048+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-df6de81c-4d0b-43e3-b421-fd3f7d7809a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.437998+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-df6de81c-4d0b-43e3-b421-fd3f7d7809a2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.437998+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-daa0bd27-16c7-44be-b010-d60f08f3f78e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-daa0bd27-16c7-44be-b010-d60f08f3f78e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b0d60607-9338-4598-8267-a66236cea200 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_180_volume_volume_connector_id_patch_reader [0.107812s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.039048s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_volume_targets_get_admin [0.077383s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.040855s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_member [0.093590s] ... ok 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-b71a376c-9d43-4b4d-9c6a-dd761ff84585 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b71a376c-9d43-4b4d-9c6a-dd761ff84585 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-109c4657-51ef-491f-b3da-a512c81d6610 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-109c4657-51ef-491f-b3da-a512c81d6610 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"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-3f2b093e-1196-4496-b4f0-18a6ecb58ddd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3f2b093e-1196-4496-b4f0-18a6ecb58ddd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6276b318-9a4e-4ec4-883f-9a4fe556763c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6276b318-9a4e-4ec4-883f-9a4fe556763c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-c061180d-ef27-47a5-b5c1-72cacec3dd4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c061180d-ef27-47a5-b5c1-72cacec3dd4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b709d999-fe58-4d00-935c-fba5ea7a34c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b709d999-fe58-4d00-935c-fba5ea7a34c8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fde84e2d-e5f6-48c0-a664-1790f3a6ba6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fde84e2d-e5f6-48c0-a664-1790f3a6ba6e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-88cb2dfd-5ba0-4ce8-963e-592cc106619c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88cb2dfd-5ba0-4ce8-963e-592cc106619c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_050_nodes_states_power_put_member [0.128525s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_186_volume_targets_get_reader [0.060735s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_member [0.068327s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_189_volume_targets_post_reader [0.060931s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_191_volume_volume_target_id_get_member [0.074169s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_198_nodes_volume_get_admin [0.054756s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-faa49a5a-e56e-43ef-bfd9-df5d7ccc0255 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-84d7607b-029d-43d3-8999-abaa3bbc67ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b32e6ce4-41b9-4776-9ba7-89d5a93ddc92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-41d2595f-6d34-40da-9689-9a1c34b570b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d33af0da-1388-4e57-99a4-0354aadd887a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/0d8260e5-c1e3-4172-8c04-5ddf2581adcd DELETE: /v1/allocations/0d8260e5-c1e3-4172-8c04-5ddf2581adcd GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53d5786f-3fe3-426b-b232-338aed5f789f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 0d8260e5-c1e3-4172-8c04-5ddf2581adcd 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-09a2645b-031c-410e-891c-503aa75dbb67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/32f5900b-1c71-47c5-9230-d367535d6931 DELETE: /v1/deploy_templates/32f5900b-1c71-47c5-9230-d367535d6931 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-333dd138-502d-4f4e-8037-15984bdc23e8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-debe655d-95ab-4679-9ee7-1d7d28f361c6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d255cb0d-c7b4-4419-b584-5ddac1295c30 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8f8be3d7-45d2-4357-a996-8b6ba17b71cc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f2862793-18ff-4ada-9f56-e0a92d9ec245 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7e481eed-094d-41b6-b6e2-c60aef96dd40 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/003b2422-34c2-40c5-baf1-b4b5d7202119 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/003b2422-34c2-40c5-baf1-b4b5d7202119 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f7ead8a2-1f9d-48c5-90bd-41ad305d3c5f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_006_nodes_get_node_member [0.078400s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0d60607-9338-4598-8267-a66236cea200 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"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-84530c1c-6c98-4528-89c8-198d91a81cfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-84530c1c-6c98-4528-89c8-198d91a81cfe X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-388371aa-1cbe-4f93-89c4-baea9718ff2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-388371aa-1cbe-4f93-89c4-baea9718ff2f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a257dee-98cd-4143-9985-830898b20d0b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a257dee-98cd-4143-9985-830898b20d0b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc15e3f4-11bf-4287-8b36-c290a36f0837 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.903775+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-cc15e3f4-11bf-4287-8b36-c290a36f0837 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:43.903775+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 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28cae744-788b-4e8e-895f-33fb98e5b492 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-28cae744-788b-4e8e-895f-33fb98e5b492 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_199_nodes_volume_get_member [0.079748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_202_nodes_volume_connectors_get_member [0.058365s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_010_nodes_get_other_admin ... SKIPPED: Not implemented yet {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_053_nodes_states_boot_mode_put_member [0.439036s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_203_nodes_volume_connectors_get_reader [0.098266s] ... 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-d409c947-6b92-46e2-a38d-d4d7bfbf8e86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:43.926202+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-d409c947-6b92-46e2-a38d-d4d7bfbf8e86 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:43.926202+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_node_ident_get_member [0.065971s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_055_nodes_states_secure_boot_put_admin [0.102896s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_216_drivers_raid_logical_disk_properties_get_admin [0.060326s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_017_nodes_node_ident_patch_admin [0.098677s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_217_drivers_raid_logical_disk_properties_get_member [0.074851s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_management_boot_device_put_admin [0.062371s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_058_nodes_states_provision_put_admin [0.113915s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_drivers_vendor_passthru_methods_get_admin [0.055190s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_062_nodes_states_raid_put_member [0.118206s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20af85e8-b416-4b62-a487-26227e3ca980 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:44.164740+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-20af85e8-b416-4b62-a487-26227e3ca980 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-19T19:58:44.164740+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-72d55024-b0ec-4740-aebc-4facaa5ae4cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-72d55024-b0ec-4740-aebc-4facaa5ae4cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-17709753-c498-4c9c-b08b-0fb734aeb6c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-17709753-c498-4c9c-b08b-0fb734aeb6c0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_041_nodes_management_boot_device_supported_get_member [0.075245s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e815ff1b-2b99-4b90-9be0-614567512af3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e815ff1b-2b99-4b90-9be0-614567512af3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5cdeeb24-0607-49de-a285-4463ce1ac656 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5cdeeb24-0607-49de-a285-4463ce1ac656 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dad3303a-0b0e-49b2-abc1-8f04f85523b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dad3303a-0b0e-49b2-abc1-8f04f85523b1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-c84e3c03-a03a-4fe6-a71b-bd4e95c0edd0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c84e3c03-a03a-4fe6-a71b-bd4e95c0edd0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7a5114c0-a92c-4e5c-be22-88205742cc71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7a5114c0-a92c-4e5c-be22-88205742cc71 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-37bff85a-444e-4fe7-abbc-a98503ec1c14 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-37bff85a-444e-4fe7-abbc-a98503ec1c14 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fbf92742-71cd-4309-86aa-707f784b5958 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_226_drivers_vendor_passthru_post_member [0.074600s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_allocations_post_admin [0.075142s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_states_get_admin [0.139610s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_074_nodes_vendor_passthru_get_reader [0.123649s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_allocations_get_member [0.073170s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_047_nodes_states_get_member [0.056443s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_states_get_reader [0.058987s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_252_allocations_allocation_id_get_member [0.088329s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_vendor_passthru_post_reader [0.111470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_059_nodes_states_provision_put_member [0.065755s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_253_allocations_allocation_id_get_reader [0.069244s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.035161s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.026397s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_060_nodes_states_provision_put_reader [0.055476s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.027468s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_vendor_passthru_delete_member [0.117129s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.020541s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_063_nodes_states_raid_put_reader [0.076133s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.030217s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.037770s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fbf92742-71cd-4309-86aa-707f784b5958 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"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-aa5a75e8-c284-490f-a4fb-ebb59b2e332f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa5a75e8-c284-490f-a4fb-ebb59b2e332f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bdebf74-20bc-4927-8127-05b1ee4e1ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "259c76ea-3792-4758-81ec-c07a6af91aea", "created_at": "2024-09-19T19:58:44.585786+00:00", "updated_at": "2024-09-19T19:58:44.593164+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/259c76ea-3792-4758-81ec-c07a6af91aea", "rel": "self"}, {"href": "http://localhost/allocations/259c76ea-3792-4758-81ec-c07a6af91aea", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bdebf74-20bc-4927-8127-05b1ee4e1ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "259c76ea-3792-4758-81ec-c07a6af91aea", "created_at": "2024-09-19T19:58:44.585786+00:00", "updated_at": "2024-09-19T19:58:44.593164+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/259c76ea-3792-4758-81ec-c07a6af91aea", "rel": "self"}, {"href": "http://localhost/allocations/259c76ea-3792-4758-81ec-c07a6af91aea", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39 GET: /v1/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c97775a-e82d-48f1-990d-e1c584e6f189 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b5cfcdf0-6df0-4b88-b783-be326d898d39", "created_at": "2024-09-19T19:58:44.663379+00:00", "updated_at": "2024-09-19T19:58:44.669568+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39", "rel": "self"}, {"href": "http://localhost/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c97775a-e82d-48f1-990d-e1c584e6f189 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "b5cfcdf0-6df0-4b88-b783-be326d898d39", "created_at": "2024-09-19T19:58:44.663379+00:00", "updated_at": "2024-09-19T19:58:44.669568+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39", "rel": "self"}, {"href": "http://localhost/allocations/b5cfcdf0-6df0-4b88-b783-be326d898d39", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625 GET: /v1/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c334e55-8f35-49d5-ba7f-4f3a500c94e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "efbf6349-8ff6-43fd-ac98-8c3d2da84625", "created_at": "2024-09-19T19:58:44.755890+00:00", "updated_at": "2024-09-19T19:58:44.762243+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625", "rel": "self"}, {"href": "http://localhost/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c334e55-8f35-49d5-ba7f-4f3a500c94e6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "efbf6349-8ff6-43fd-ac98-8c3d2da84625", "created_at": "2024-09-19T19:58:44.755890+00:00", "updated_at": "2024-09-19T19:58:44.762243+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625", "rel": "self"}, {"href": "http://localhost/allocations/efbf6349-8ff6-43fd-ac98-8c3d2da84625", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/235c13be-5914-426d-9721-d088ac7bc15d PATCH: /v1/allocations/235c13be-5914-426d-9721-d088ac7bc15d [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e38cbec3-5ec5-4ee1-bcc0-2ea3d0955600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "235c13be-5914-426d-9721-d088ac7bc15d", "created_at": "2024-09-19T19:58:44.821851+00:00", "updated_at": "2024-09-19T19:58:44.872872+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/235c13be-5914-426d-9721-d088ac7bc15d", "rel": "self"}, {"href": "http://localhost/allocations/235c13be-5914-426d-9721-d088ac7bc15d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_allocations_allocation_id_patch_admin [0.084997s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_allocations_allocation_id_patch_reader [0.106566s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.045508s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.040691s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.040783s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-25a0eda2-cc77-44b2-94df-6bbe5b79abad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-25a0eda2-cc77-44b2-94df-6bbe5b79abad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2eea64b-cd7b-4934-9d51-85edddd74165 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d2eea64b-cd7b-4934-9d51-85edddd74165 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4e6197a1-07f5-4fb8-ba4f-296f6445df73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4e6197a1-07f5-4fb8-ba4f-296f6445df73 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba8b5f33-3977-45d7-bd3c-628bcb0d6f72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba8b5f33-3977-45d7-bd3c-628bcb0d6f72 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-0e4674c8-6fdc-4749-811a-43a796f0e8eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0e4674c8-6fdc-4749-811a-43a796f0e8eb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-80c5f6ba-0b15-4da2-92a5-6e5dc31f0566 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-80c5f6ba-0b15-4da2-92a5-6e5dc31f0566 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea3395f0-8c2e-4128-b170-933a0f5645e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ea3395f0-8c2e-4128-b170-933a0f5645e4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a0280484-749e-49b4-8704-d43607ffdaff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_066_nodes_states_console_put_admin [0.100488s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d78b06cb-6045-441a-bec7-1a0228f8f0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d78b06cb-6045-441a-bec7-1a0228f8f0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3bb33ae2-4c49-49b7-b6ad-0c0e64780cd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3bb33ae2-4c49-49b7-b6ad-0c0e64780cd8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5b781f5a-407d-4433-a653-9a68364835a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b781f5a-407d-4433-a653-9a68364835a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c4bb2c7-341f-455f-9d28-76e334c6b13e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c4bb2c7-341f-455f-9d28-76e334c6b13e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba8f2755-3b48-4430-aff7-a636364bf7df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ba8f2755-3b48-4430-aff7-a636364bf7df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-71b8a9f0-9050-45c5-97de-4220c58b03e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-71b8a9f0-9050-45c5-97de-4220c58b03e0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cc699060-e303-4177-b088-e1aa7ab61c58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-cc699060-e303-4177-b088-e1aa7ab61c58 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-063c0673-c1c6-457b-ac03-72038a612678 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-063c0673-c1c6-457b-ac03-72038a612678 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_traits_get_admin [0.142269s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_258_allocations_allocation_id_delete_member [0.113711s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.038721s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_067_nodes_states_console_put_member [0.119083s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_traits_get_member [0.148578s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_nodes_allocation_delete_member [0.059271s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_068_nodes_states_console_put_reader [0.062129s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_deploy_templates_get_admin [0.062399s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_070_nodes_vendor_passthru_methods_get_member [0.075379s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_086_nodes_traits_get_reader [0.116234s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_275_deploy_templates_deploy_template_id_patch_admin [0.099355s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_vendor_passthru_get_member [0.059434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_079_nodes_vendor_passthru_put_member [0.058936s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_traits_put_admin [0.121088s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.288850s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.015307s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.022597s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_080_nodes_vendor_passthru_put_reader [0.064435s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.013452s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.015371s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.014318s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_095_nodes_traits_trait_put_reader [0.113026s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.032778s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_traits_put_member [0.066232s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.032864s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.030029s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.025143s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_vifs_get_reader [0.110725s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.023162s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.030318s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.026298s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a0280484-749e-49b4-8704-d43607ffdaff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-955b3c74-dc08-4bb4-acfe-336f10d1cb0c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-955b3c74-dc08-4bb4-acfe-336f10d1cb0c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6ea3b1c8-c210-4737-8fc6-a69bce72e2dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6ea3b1c8-c210-4737-8fc6-a69bce72e2dc X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6810f91a-8e45-4acc-82d6-7c7f33442439 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6810f91a-8e45-4acc-82d6-7c7f33442439 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-999ee40e-5d52-4a6a-91ca-be282a924d27 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-999ee40e-5d52-4a6a-91ca-be282a924d27 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35bd7f73-777a-4075-b54d-8024845c298f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35bd7f73-777a-4075-b54d-8024845c298f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e97b5596-8dd8-4c55-a7fb-c047cb94dfa3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e97b5596-8dd8-4c55-a7fb-c047cb94dfa3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9175226-8a4a-4039-b1bd-b41f68163350 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9175226-8a4a-4039-b1bd-b41f68163350 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b52f38cd-7a0e-44e7-a635-8a14f294b607 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_traits_put_reader [0.087271s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_280_deploy_templates_deploy_template_id_delete_reader [0.389036s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.042937s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_104_nodes_vifs_post_reader [0.108264s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_traits_delete_admin [0.153782s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.034303s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.036361s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.021992s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_vifs_get_member [0.091607s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.037975s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.023408s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e38cbec3-5ec5-4ee1-bcc0-2ea3d0955600 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "235c13be-5914-426d-9721-d088ac7bc15d", "created_at": "2024-09-19T19:58:44.821851+00:00", "updated_at": "2024-09-19T19:58:44.872872+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/235c13be-5914-426d-9721-d088ac7bc15d", "rel": "self"}, {"href": "http://localhost/allocations/235c13be-5914-426d-9721-d088ac7bc15d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/d1160384-262e-4ec1-9284-b56c27bc22b7 PATCH: /v1/allocations/d1160384-262e-4ec1-9284-b56c27bc22b7 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-398f94fa-b495-45a0-8411-6f552734ff99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-398f94fa-b495-45a0-8411-6f552734ff99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/c4b0e1da-0e6c-4378-a81f-700735a296a2 DELETE: /v1/allocations/c4b0e1da-0e6c-4378-a81f-700735a296a2 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-972766ab-34b2-4a90-b72a-d23d28b4df34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-972766ab-34b2-4a90-b72a-d23d28b4df34 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-96e47c89-7885-4f08-b87e-3169ac892ca0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-96e47c89-7885-4f08-b87e-3169ac892ca0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70f6424d-ed6d-43a0-a9f7-51b09d63a18f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "f42d8202-653f-4f85-80d7-a1464e252098", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f42d8202-653f-4f85-80d7-a1464e252098", "rel": "self"}, {"href": "http://localhost/deploy_templates/f42d8202-653f-4f85-80d7-a1464e252098", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70f6424d-ed6d-43a0-a9f7-51b09d63a18f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "f42d8202-653f-4f85-80d7-a1464e252098", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f42d8202-653f-4f85-80d7-a1464e252098", "rel": "self"}, {"href": "http://localhost/deploy_templates/f42d8202-653f-4f85-80d7-a1464e252098", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3 PATCH: /v1/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-447752d3-6618-44b1-b54e-e39758890e04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a5be5f1c-94dc-41d6-b706-62b501e96da3", "created_at": "2024-09-19T19:58:45.257091+00:00", "updated_at": "2024-09-19T19:58:45.305246+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3", "rel": "self"}, {"href": "http://localhost/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3", "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-447752d3-6618-44b1-b54e-e39758890e04 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a5be5f1c-94dc-41d6-b706-62b501e96da3", "created_at": "2024-09-19T19:58:45.257091+00:00", "updated_at": "2024-09-19T19:58:45.305246+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3", "rel": "self"}, {"href": "http://localhost/deploy_templates/a5be5f1c-94dc-41d6-b706-62b501e96da3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/b92b8afd-60d4-4904-8096-fa1573033ed8 DELETE: /v1/deploy_templates/b92b8afd-60d4-4904-8096-fa1573033ed8 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a0385cd5-5e33-4269-9d0c-3637ed1bba92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a0385cd5-5e33-4269-9d0c-3637ed1bba92 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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'} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_281_chassis_post_admin [0.115825s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_283_chassis_post_reader [0.073818s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.036442s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.019931s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_fails_safety_check [0.021863s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_chassis_detail_get_member [0.074664s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled_fails_to_convert [0.021369s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.028555s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_portgroups_get_admin [0.085948s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.025637s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.015780s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_portgroups_post_member [0.124751s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_292_chassis_chassis_id_get_reader [0.087113s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.036246s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.014756s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_chassis_chassis_id_patch_admin [0.056848s] ... ok {2} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.058183s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.036477s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.032937s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d1cc160b-56f3-4226-9187-31a6ffba8a67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d1cc160b-56f3-4226-9187-31a6ffba8a67 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-733f2243-5403-4772-9f80-482ed6f90aaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-733f2243-5403-4772-9f80-482ed6f90aaf X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2ebcb846-76f9-4cfa-bfa1-b841bad44db0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2ebcb846-76f9-4cfa-bfa1-b841bad44db0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5b43fa6f-00ad-4df2-bad8-9d8f91855fca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b43fa6f-00ad-4df2-bad8-9d8f91855fca X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb117d25-2b1e-49e4-aa8b-7862249744cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-eb117d25-2b1e-49e4-aa8b-7862249744cd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ab6a9d0c-0483-4297-82c3-4f3efedced48 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab6a9d0c-0483-4297-82c3-4f3efedced48 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-05eee881-7bc9-4570-b58a-5fce0ddeb8d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-05eee881-7bc9-4570-b58a-5fce0ddeb8d8 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"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-92b565c6-c993-4a2e-baef-1f8b727c8fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-92b565c6-c993-4a2e-baef-1f8b727c8fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-ba9a82fc-93fd-404b-a9f0-6e2ae34af415 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.117588+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_119_portgroups_detail_get_member [0.118821s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.038925s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.032176s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb Openstack-Request-Id: req-340735d1-2331-4f60-8f4e-3c31d996443a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e984ed12-8d6e-46a4-858d-41f66422e2eb", "created_at": "2024-09-19T19:58:45.819384+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb", "rel": "self"}, {"href": "http://localhost/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb Openstack-Request-Id: req-340735d1-2331-4f60-8f4e-3c31d996443a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e984ed12-8d6e-46a4-858d-41f66422e2eb", "created_at": "2024-09-19T19:58:45.819384+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb", "rel": "self"}, {"href": "http://localhost/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e984ed12-8d6e-46a4-858d-41f66422e2eb/nodes", "rel": "bookmark"}]]} 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-95c9cccd-9346-4827-b75d-69a4bcd3e941 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95c9cccd-9346-4827-b75d-69a4bcd3e941 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3d7b6cd-49c2-4219-bc1b-a6f2e68c531f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:45.951567+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-a3d7b6cd-49c2-4219-bc1b-a6f2e68c531f X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:45.951567+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-132559f5-7b7b-42f5-9b1c-28904dfa283d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:46.025968+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-132559f5-7b7b-42f5-9b1c-28904dfa283d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:46.025968+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-77f00c27-3150-48a6-9f8c-13cbfac0f1dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:46.092391+00:00", "updated_at": "2024-09-19T19:58:46.114687+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-77f00c27-3150-48a6-9f8c-13cbfac0f1dd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:46.092391+00:00", "updated_at": "2024-09-19T19:58:46.114687+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_296_chassis_chassis_id_delete_admin [0.088983s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_node_history_get_admin [0.129169s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.047680s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_portgroups_detail_get_reader [0.175444s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.031095s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.035475s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_node_history_get_entry_admin [0.103238s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_portgroups_post_admin [0.416903s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.038193s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_nodes_portgroups_detail_get_reader [0.124295s] ... ok {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.052981s] ... ok {2} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.046623s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.013538s] ... ok {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.029609s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.013449s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.016084s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_portgroups_portgroup_ident_get_admin [0.120264s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.019558s] ... ok {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.060427s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_ports_get_reader [0.115887s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.031633s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.050956s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.039578s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.086798s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.039754s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_140_ports_post_member [0.135920s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b52f38cd-7a0e-44e7-a635-8a14f294b607 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-87b566ff-2c0c-4174-991e-a05a0e4d50a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-87b566ff-2c0c-4174-991e-a05a0e4d50a1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a71667ba-3db2-42c2-b52f-1120fcf0cbd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a71667ba-3db2-42c2-b52f-1120fcf0cbd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f7ec86e-9bfa-4cd4-8ba3-be1c4b398cc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6f7ec86e-9bfa-4cd4-8ba3-be1c4b398cc9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/332b83b8-a88a-459c-8506-87e48a39f558 Openstack-Request-Id: req-579cd8d2-2710-4138-8da3-013fd550c893 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "332b83b8-a88a-459c-8506-87e48a39f558", "created_at": "2024-09-19T19:58:46.430911+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/332b83b8-a88a-459c-8506-87e48a39f558", "rel": "self"}, {"href": "http://localhost/portgroups/332b83b8-a88a-459c-8506-87e48a39f558", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/332b83b8-a88a-459c-8506-87e48a39f558/ports", "rel": "self"}, {"href": "http://localhost/portgroups/332b83b8-a88a-459c-8506-87e48a39f558/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/332b83b8-a88a-459c-8506-87e48a39f558 Openstack-Request-Id: req-579cd8d2-2710-4138-8da3-013fd550c893 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "332b83b8-a88a-459c-8506-87e48a39f558", "created_at": "2024-09-19T19:58:46.430911+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/332b83b8-a88a-459c-8506-87e48a39f558", "rel": "self"}, {"href": "http://localhost/portgroups/332b83b8-a88a-459c-8506-87e48a39f558", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/332b83b8-a88a-459c-8506-87e48a39f558/ports", "rel": "self"}, {"href": "http://localhost/portgroups/332b83b8-a88a-459c-8506-87e48a39f558/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-e7b3873a-e788-4d08-9177-66671b7a5b4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.501577+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-e7b3873a-e788-4d08-9177-66671b7a5b4a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.501577+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_123_portgroups_portgroup_ident_get_reader [0.133669s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.039807s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.077135s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.041052s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.051119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_129_portgroups_portgroup_ident_delete_reader [0.115881s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.038883s] ... ok {0} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.044447s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_nodes_portgroups_get_member [0.076135s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.087745s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba9a82fc-93fd-404b-a9f0-6e2ae34af415 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.117588+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-90e71a9f-23db-4610-96f1-23edd412534c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.288578+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-90e71a9f-23db-4610-96f1-23edd412534c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.288578+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a506a832-f3cc-4fda-997d-80462cb1eda3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.411120+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-a506a832-f3cc-4fda-997d-80462cb1eda3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.411120+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-9198df21-1ee5-462b-94a6-557dfd37201b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9198df21-1ee5-462b-94a6-557dfd37201b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-41252b86-68f2-4904-9932-088d0ada6c8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-41252b86-68f2-4904-9932-088d0ada6c8a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_146_ports_port_id_get_member [0.105260s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_ports_get_reader [0.072436s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.067145s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.070998s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_nodes_ports_detail_get_reader [0.058943s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.036287s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_nodes_portgroups_get_reader [0.102898s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.052107s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.028993s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_volume_get_admin [0.063042s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.025975s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.060638s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.039177s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_volume_get_reader [0.061061s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_nodes_portgroups_detail_get_member [0.102181s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.022612s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.018767s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.067678s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.016823s] ... ok {0} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.026734s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.029194s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.024165s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.091964s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91c77a7e-9cb6-43d9-84cf-67a20a1ea423 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:46.792409+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-91c77a7e-9cb6-43d9-84cf-67a20a1ea423 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:46.792409+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-131c9253-006c-44fb-8dbc-080f9b96ccb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-131c9253-006c-44fb-8dbc-080f9b96ccb4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4ca33714-370f-4ab9-b701-7571b4b80725 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:46.938176+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-4ca33714-370f-4ab9-b701-7571b4b80725 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:46.938176+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/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2cd7bc0-b831-44d0-b124-bb3cc5637200 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-c2cd7bc0-b831-44d0-b124-bb3cc5637200 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-59f4e90d-6b12-4e48-96b5-8106c916d5d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-59f4e90d-6b12-4e48-96b5-8106c916d5d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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_173_volume_connectors_post_member [0.060577s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_175_volume_volume_connector_id_get_admin [0.064954s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.026444s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68e7ac56-cf6e-453c-8d71-2e8343337b4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.626629+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-68e7ac56-cf6e-453c-8d71-2e8343337b4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:46.626629+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-dd0100c4-b52d-4554-88c5-e0ce31cc7e37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-dd0100c4-b52d-4554-88c5-e0ce31cc7e37 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1438c75a-944d-4ee0-bb12-882362f6a8a9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1438c75a-944d-4ee0-bb12-882362f6a8a9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc64cb2e-dd6d-43f2-be08-a9fd45a196ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bc64cb2e-dd6d-43f2-be08-a9fd45a196ea X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46c63572-78e6-42d6-bb63-5d3a2c4d55b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:47.057881+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-46c63572-78e6-42d6-bb63-5d3a2c4d55b0 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-19T19:58:47.057881+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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_136_ports_get_admin [0.088554s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_183_volume_volume_connector_id_delete_reader [0.060560s] ... ok {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.031073s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_137_ports_get_member [0.106702s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.076568s] ... ok {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.027872s] ... ok {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.017443s] ... ok {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.012412s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.047802s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_192_volume_volume_target_id_get_reader [0.086019s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_ports_post_admin [0.073133s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.034363s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.040008s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_193_volume_volume_target_id_patch_admin [0.059167s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.026865s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.046728s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.024480s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.048781s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.035939s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.032320s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_ports_detail_get_member [0.148210s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.015757s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.020973s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.068345s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/3a324fc0-bdbf-4a32-a04d-2d3706935335 Openstack-Request-Id: req-1f5cc825-eec1-43d9-8116-cfae3cd88c99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3a324fc0-bdbf-4a32-a04d-2d3706935335", "created_at": "2024-09-19T19:58:47.145174+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/3a324fc0-bdbf-4a32-a04d-2d3706935335", "rel": "self"}, {"href": "http://localhost/volume/connectors/3a324fc0-bdbf-4a32-a04d-2d3706935335", "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/3a324fc0-bdbf-4a32-a04d-2d3706935335 Openstack-Request-Id: req-1f5cc825-eec1-43d9-8116-cfae3cd88c99 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "3a324fc0-bdbf-4a32-a04d-2d3706935335", "created_at": "2024-09-19T19:58:47.145174+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/3a324fc0-bdbf-4a32-a04d-2d3706935335", "rel": "self"}, {"href": "http://localhost/volume/connectors/3a324fc0-bdbf-4a32-a04d-2d3706935335", "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-fd7033fe-ac35-4b77-82bb-f55a75c8f926 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.195571+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-fd7033fe-ac35-4b77-82bb-f55a75c8f926 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.195571+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1138b77b-dc56-41a1-9a90-b8aa42df709a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1138b77b-dc56-41a1-9a90-b8aa42df709a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/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-bb407841-ebc4-4e36-894e-7b97a7a68520 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.330399+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-bb407841-ebc4-4e36-894e-7b97a7a68520 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.330399+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-f7318506-02ca-45d0-8c03-75df26e29cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f7318506-02ca-45d0-8c03-75df26e29cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0d133276-6991-45d3-a96a-7da094a8b2de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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"}]} {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.020646s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_nodes_volume_get_reader [0.069393s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_nodes_volume_targets_get_admin [0.065813s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.054548s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.058899s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_208_drivers_get_member [0.074187s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.016160s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.047597s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.017752s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.015317s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_144_ports_detail_get_reader [0.151334s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.036296s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.022083s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.027324s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.032915s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.026318s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_drivers_get_reader [0.121470s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.028800s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.024006s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.046409s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_148_ports_port_id_patch_admin [0.127784s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.036779s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.035998s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.026291s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.016119s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_drivers_driver_name_get_member [0.119830s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.023384s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_get_inspector [0.013864s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.063790s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error [0.020984s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.050477s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like [0.056657s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_drivers_driver_name_get_reader [0.126330s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2310bbbe-8973-4162-bd64-428307ffac64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2310bbbe-8973-4162-bd64-428307ffac64 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1641df3-1482-4cb7-b540-c554bfb5fac9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b1641df3-1482-4cb7-b540-c554bfb5fac9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-60109000-461c-497c-a42a-3f3bedfc1e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-60109000-461c-497c-a42a-3f3bedfc1e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1f788483-9f59-4a8c-86c2-dff890d40db4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.434985+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-1f788483-9f59-4a8c-86c2-dff890d40db4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.434985+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-8dab6a3f-4ede-4ed6-aab3-80780b09e4bd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.621979+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-8dab6a3f-4ede-4ed6-aab3-80780b09e4bd X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:47.621979+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-9e353300-79a7-4d9f-b603-9834276ab201 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9e353300-79a7-4d9f-b603-9834276ab201 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_ports_port_id_patch_member [0.139314s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error [0.063531s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.081563s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2_invalid [0.015359s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_ports_port_id_delete_admin [0.116212s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_214_drivers_properties_get_member [0.082013s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... SKIPPED: qemu-img not installed or does not support qed format {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vdi_invalid [0.023069s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.084886s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_215_drivers_properties_get_reader [0.064403s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_ports_get_admin [0.097169s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.081344s] ... ok 5+0 records in 5+0 records out 5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0462639 s, 113 MB/s {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_drivers_vendor_passthru_methods_get_member [0.090453s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_ports_detail_get_member [0.119440s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.081770s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.040275s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.078010s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d133276-6991-45d3-a96a-7da094a8b2de X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b38e505a-e286-4f8b-a549-35f030724ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-b38e505a-e286-4f8b-a549-35f030724ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-32ab2221-c27e-492b-8b56-32f577409687 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-32ab2221-c27e-492b-8b56-32f577409687 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-837493fa-d2f1-4f1f-bca8-aab2e3e9ad7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-837493fa-d2f1-4f1f-bca8-aab2e3e9ad7d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-063f1ad4-f93b-4c2c-86c4-044411216a1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-063f1ad4-f93b-4c2c-86c4-044411216a1e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-663adeb9-2a34-4298-a169-4772fb734261 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-663adeb9-2a34-4298-a169-4772fb734261 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-38706091-bfae-4f07-b8ea-6a3f63227baa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-38706091-bfae-4f07-b8ea-6a3f63227baa X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-07ac39d6-089d-4347-8a16-a19dc6cacf53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-07ac39d6-089d-4347-8a16-a19dc6cacf53 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8d197e4b-603d-455c-9f00-b0dbb97ce7c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-8d197e4b-603d-455c-9f00-b0dbb97ce7c5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_drivers_vendor_passthru_get_member [0.116841s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_portgroups_ports_get_reader [0.156426s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_drivers_vendor_passthru_post_admin [0.086390s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.046984s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_portgroups_ports_detail_get_member [0.056783s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.040734s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_232_drivers_vendor_passthru_delete_reader [0.086048s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.048382s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_volume_connectors_get_member [0.066502s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.037529s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_nodes_bios_get_reader [0.090788s] ... ok 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-d2fbb28d-bd67-43c0-bcf4-d1055f869559 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d2fbb28d-bd67-43c0-bcf4-d1055f869559 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-84bc4af2-cd39-4e8e-86fd-75d362a581ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-84bc4af2-cd39-4e8e-86fd-75d362a581ce X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88d6c6d8-4842-4446-855e-d586c73a1cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-88d6c6d8-4842-4446-855e-d586c73a1cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-5a68c13b-4cb2-4a58-8bce-9d27a197d225 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:48.206467+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-5a68c13b-4cb2-4a58-8bce-9d27a197d225 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-19T19:58:48.206467+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-6a355ba1-9c24-4742-91a3-2ecddf2131c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6a355ba1-9c24-4742-91a3-2ecddf2131c1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-00550fc1-30be-4ba1-bd62-18aa285dadd9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00550fc1-30be-4ba1-bd62-18aa285dadd9 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fd943733-8a21-41d8-a7c7-9e3d4f74c2ee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-fd943733-8a21-41d8-a7c7-9e3d4f74c2ee X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_volume_connectors_get_reader [0.061313s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.085767s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_236_nodes_bios_bios_setting_get_admin [0.077649s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_volume_connectors_post_admin [0.120394s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.064863s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_239_conductors_get_admin [0.059126s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.056460s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_240_conductors_get_member [0.058962s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_volume_connectors_post_reader [0.105981s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.048387s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.030747s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.037693s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.030944s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-43f34d8c-1e9a-48e1-95dc-35c76d3737b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-43f34d8c-1e9a-48e1-95dc-35c76d3737b7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1906db79-1c89-4539-92c1-0dc72a5d3574 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-1906db79-1c89-4539-92c1-0dc72a5d3574 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d24f171b-f19b-48c5-9c1f-769e068e1902 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-d24f171b-f19b-48c5-9c1f-769e068e1902 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-f44b856c-a52b-48f1-b058-96f3bb7684df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:48.579753+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-f44b856c-a52b-48f1-b058-96f3bb7684df X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:48.579753+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-12c06a4c-fb6e-40c0-a89a-e9fbe9119432 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:48.675332+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-12c06a4c-fb6e-40c0-a89a-e9fbe9119432 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:48.675332+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-25589440-a2b9-4c7e-8cb6-ecc3bc596a98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-25589440-a2b9-4c7e-8cb6-ecc3bc596a98 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-585830bd-d82c-4743-a7c9-3543e44e2a49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-585830bd-d82c-4743-a7c9-3543e44e2a49 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/441c4aec-44e8-41a6-a1e4-326c2b16cb2e {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_allocations_allocation_id_patch_member [0.067194s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_259_allocations_allocation_id_delete_reader [0.059956s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.019248s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.018365s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_181_volume_volume_connector_id_delete_admin [0.148543s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_262_nodes_allocation_get_reader [0.063863s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.050704s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_nodes_allocation_delete_admin [0.052541s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_268_deploy_templates_post_reader [0.053011s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.069227s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_188_volume_targets_post_member [0.126381s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error [0.029391s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails [0.021132s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_272_deploy_templates_deploy_template_id_get_admin [0.061438s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.048200s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_194_volume_volume_target_id_patch_reader [0.104539s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.035386s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.045159s] ... ok PATCH: /v1/allocations/441c4aec-44e8-41a6-a1e4-326c2b16cb2e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-624e32c5-35b7-462a-946d-e95d6fb41c97 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "created_at": "2024-09-19T19:58:48.846551+00:00", "updated_at": "2024-09-19T19:58:48.878987+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/441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "rel": "self"}, {"href": "http://localhost/allocations/441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-624e32c5-35b7-462a-946d-e95d6fb41c97 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "created_at": "2024-09-19T19:58:48.846551+00:00", "updated_at": "2024-09-19T19:58:48.878987+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/441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "rel": "self"}, {"href": "http://localhost/allocations/441c4aec-44e8-41a6-a1e4-326c2b16cb2e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/9594821b-a2c8-4bf1-b48f-1e799809c11e DELETE: /v1/allocations/9594821b-a2c8-4bf1-b48f-1e799809c11e GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-102db5dd-90ab-4822-a05f-3a979dffcbad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-102db5dd-90ab-4822-a05f-3a979dffcbad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-711e0002-1b66-435e-aedc-33451b99b9c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "created_at": "2024-09-19T19:58:48.968500+00:00", "updated_at": "2024-09-19T19:58:48.974289+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "rel": "self"}, {"href": "http://localhost/allocations/9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-711e0002-1b66-435e-aedc-33451b99b9c3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "created_at": "2024-09-19T19:58:48.968500+00:00", "updated_at": "2024-09-19T19:58:48.974289+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "rel": "self"}, {"href": "http://localhost/allocations/9c9fc304-a1df-4f5d-8b4c-66c7c0ced02e", "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-ea42b79e-c779-4582-a853-7f38a7022d8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ea42b79e-c779-4582-a853-7f38a7022d8c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0572f5f7-9cb7-49ad-96e8-d001c0ec3e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0572f5f7-9cb7-49ad-96e8-d001c0ec3e18 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/147a107c-c9c6-457d-bcc2-d48fb521e649 GET: /v1/deploy_templates/147a107c-c9c6-457d-bcc2-d48fb521e649 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f0ea5f0-7b9f-43f9-82ea-8f3b0af2eba3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "147a107c-c9c6-457d-bcc2-d48fb521e649", "created_at": "2024-09-19T19:58:49.153506+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/147a107c-c9c6-457d-bcc2-d48fb521e649", "rel": "self"}, {"href": "http://localhost/deploy_templates/147a107c-c9c6-457d-bcc2-d48fb521e649", "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-0f0ea5f0-7b9f-43f9-82ea-8f3b0af2eba3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "147a107c-c9c6-457d-bcc2-d48fb521e649", "created_at": "2024-09-19T19:58:49.153506+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/147a107c-c9c6-457d-bcc2-d48fb521e649", "rel": "self"}, {"href": "http://localhost/deploy_templates/147a107c-c9c6-457d-bcc2-d48fb521e649", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_274_deploy_templates_deploy_template_id_get_reader [0.063782s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_chassis_post_member [0.062791s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.018934s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.014178s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.013814s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_285_chassis_get_member [0.058207s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.029432s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.019098s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a86c0f5-423e-47e3-a2dd-65f92ebe6f2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-0a86c0f5-423e-47e3-a2dd-65f92ebe6f2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/2fe1fce5-815b-4fcc-a557-d7257560e9ed Openstack-Request-Id: req-25c402af-8f82-4ebf-b355-a764f6d5f49d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2fe1fce5-815b-4fcc-a557-d7257560e9ed", "created_at": "2024-09-19T19:58:48.738279+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/2fe1fce5-815b-4fcc-a557-d7257560e9ed", "rel": "self"}, {"href": "http://localhost/volume/connectors/2fe1fce5-815b-4fcc-a557-d7257560e9ed", "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/2fe1fce5-815b-4fcc-a557-d7257560e9ed Openstack-Request-Id: req-25c402af-8f82-4ebf-b355-a764f6d5f49d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "2fe1fce5-815b-4fcc-a557-d7257560e9ed", "created_at": "2024-09-19T19:58:48.738279+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/2fe1fce5-815b-4fcc-a557-d7257560e9ed", "rel": "self"}, {"href": "http://localhost/volume/connectors/2fe1fce5-815b-4fcc-a557-d7257560e9ed", "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-95ebee2e-a59c-43d5-9cdf-9a4fa868d00a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-95ebee2e-a59c-43d5-9cdf-9a4fa868d00a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3603118-8340-4f44-898a-20e522796f16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3603118-8340-4f44-898a-20e522796f16 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/ab0bb994-bfd7-4bdb-a299-06570aaef57e Openstack-Request-Id: req-95207fa5-afc3-467a-9635-ba172399176a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ab0bb994-bfd7-4bdb-a299-06570aaef57e", "created_at": "2024-09-19T19:58:49.104492+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ab0bb994-bfd7-4bdb-a299-06570aaef57e", "rel": "self"}, {"href": "http://localhost/volume/targets/ab0bb994-bfd7-4bdb-a299-06570aaef57e", "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/ab0bb994-bfd7-4bdb-a299-06570aaef57e Openstack-Request-Id: req-95207fa5-afc3-467a-9635-ba172399176a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ab0bb994-bfd7-4bdb-a299-06570aaef57e", "created_at": "2024-09-19T19:58:49.104492+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ab0bb994-bfd7-4bdb-a299-06570aaef57e", "rel": "self"}, {"href": "http://localhost/volume/targets/ab0bb994-bfd7-4bdb-a299-06570aaef57e", "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-2bd75c82-ed4c-476e-bc93-4f30aad33248 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2bd75c82-ed4c-476e-bc93-4f30aad33248 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_195_volume_volume_target_id_delete_admin [0.135617s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_chassis_get_reader [0.071664s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.025025s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.023464s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_197_volume_volume_target_id_delete_reader [0.109299s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.015201s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.012894s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.029665s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_chassis_detail_get_admin [0.091476s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_nodes_volume_targets_get_member [0.064208s] ... ok {2} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_failure [0.031540s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_206_nodes_volume_targets_get_reader [0.065148s] ... ok API ACL Testing Path get /v1/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22 GET: /v1/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db133cab-764e-4c14-9e00-91112c21f2ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ceba1afa-7f8f-4074-9811-99670740ee22", "created_at": "2024-09-19T19:58:49.214967+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22", "rel": "self"}, {"href": "http://localhost/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22", "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-db133cab-764e-4c14-9e00-91112c21f2ff X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "ceba1afa-7f8f-4074-9811-99670740ee22", "created_at": "2024-09-19T19:58:49.214967+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22", "rel": "self"}, {"href": "http://localhost/deploy_templates/ceba1afa-7f8f-4074-9811-99670740ee22", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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-178b543c-aee8-4c96-90be-4839484dc31c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-178b543c-aee8-4c96-90be-4839484dc31c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3cabfe0b-b0de-4771-adce-4cf0a9fd0d4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-3cabfe0b-b0de-4771-adce-4cf0a9fd0d4e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-08174be1-c5f2-4d69-b386-bef598bdec2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-08174be1-c5f2-4d69-b386-bef598bdec2c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-2c17f0b6-6973-483e-bd90-6a91be26182a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.487209+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-2c17f0b6-6973-483e-bd90-6a91be26182a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.487209+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-0d9519b9-75d3-4d15-90fa-805d7145ac38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.556689+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"}]]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_chassis_chassis_id_get_admin [0.055006s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_291_chassis_chassis_id_get_member [0.076711s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_drivers_get_admin [0.081223s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_297_chassis_chassis_id_delete_member [0.052009s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_drivers_driver_name_get_admin [0.062143s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_node_history_get_member [0.056402s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.021580s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_218_drivers_raid_logical_disk_properties_get_reader [0.060220s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_221_drivers_vendor_passthru_methods_get_reader [0.048331s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.329071s] ... ok {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.167757s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c478991-cf7e-4206-9bf1-0e976ab22148 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c478991-cf7e-4206-9bf1-0e976ab22148 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7421618c-9468-4e6c-be42-9f6f20ea8fc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-7421618c-9468-4e6c-be42-9f6f20ea8fc6 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35b7ecad-b63f-4374-a38e-05e0c62ab449 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-35b7ecad-b63f-4374-a38e-05e0c62ab449 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-78fbcef3-0724-431d-b8b1-7549f5a11651 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-78fbcef3-0724-431d-b8b1-7549f5a11651 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9abd4d50-47c9-4a3e-978f-323e30fecb09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9abd4d50-47c9-4a3e-978f-323e30fecb09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6a912517-d1aa-4f68-b8b5-7fc534930bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6a912517-d1aa-4f68-b8b5-7fc534930bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-96bd7d27-824a-4505-848c-43eed76cb00e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-96bd7d27-824a-4505-848c-43eed76cb00e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e5fd133a-99b5-4e29-b02e-91488b529d9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-e5fd133a-99b5-4e29-b02e-91488b529d9e X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_drivers_vendor_passthru_get_reader [0.059857s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.098192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_drivers_vendor_passthru_put_admin [0.050035s] ... ok {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.032075s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.036506s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_229_drivers_vendor_passthru_put_member [0.059315s] ... ok {1} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.022247s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.064684s] ... ok {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.025692s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_231_drivers_vendor_passthru_delete_admin [0.055564s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.018023s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.063487s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.029899s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.022254s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_233_nodes_bios_get_admin [0.061802s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.025302s] ... ok {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.018894s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.034370s] ... ok {1} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.024692s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.016701s] ... ok {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.017765s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.015172s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.019930s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.017968s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.018950s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_234_nodes_bios_get_member [0.104148s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.021353s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.021986s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.014408s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.015765s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.019097s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.016931s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.013623s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.016501s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.012440s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.012859s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.012462s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.012909s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.012695s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_238_nodes_bios_bios_setting_get_reader [0.106027s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.012025s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.013836s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.011959s] ... ok {1} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.012174s] ... ok {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.013347s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.044396s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.013429s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.041829s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.034481s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.032717s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.030506s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38b9adc7-78b1-41b8-af0e-22aa6e0c19ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-38b9adc7-78b1-41b8-af0e-22aa6e0c19ab X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75fce3d5-e701-419f-8699-780715494ac5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-75fce3d5-e701-419f-8699-780715494ac5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12cd5cd5-e92a-4adf-8d7d-e211cdb3827d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-12cd5cd5-e92a-4adf-8d7d-e211cdb3827d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-158160e8-8851-4677-b7c5-d12bb17f0b0d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-158160e8-8851-4677-b7c5-d12bb17f0b0d X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-bf5ef05e-66f6-48a2-b12c-fb200394ffe3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:50.121808+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-bf5ef05e-66f6-48a2-b12c-fb200394ffe3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:50.121808+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-82e4b485-f569-4835-8e60-aef0e23d846a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:50.210368+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-82e4b485-f569-4835-8e60-aef0e23d846a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"bios": [{"created_at": "2024-09-19T19:58:50.210368+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-792bd4d1-fc1f-400b-bc95-9ae7f1d3cca7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:50.315970+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-792bd4d1-fc1f-400b-bc95-9ae7f1d3cca7 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"FAKE_SETTING": {"created_at": "2024-09-19T19:58:50.315970+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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_241_conductors_get_reader [0.102389s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.046266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_242_conductors_hostname_get_admin [0.103051s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.100273s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.044350s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.038941s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.034028s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.034195s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_244_conductors_hostname_get_reader [0.099933s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.037646s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.036519s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.026868s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.021586s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.039827s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.020211s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.019088s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_246_allocations_post_member [0.103094s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.016183s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.044275s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.022661s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.031830s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.027970s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.017781s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.014981s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_247_allocations_post_reader [0.103297s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.016944s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.017979s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.014099s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.122301s] ... ok /bin/sh: line 1: mkisofs: command not found {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_iso_9660 ... SKIPPED: mkisofs not installed {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_250_allocations_get_reader [0.105163s] ... ok /bin/sh: line 1: mkisofs: command not found {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_iso_udf ... SKIPPED: mkisofs not installed {2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.079871s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.078796s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04a90d7d-42d9-4587-96d8-c6cf9af411db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-04a90d7d-42d9-4587-96d8-c6cf9af411db X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a83a0cf9-8fdf-42b6-ae9b-56d1769e2e3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:50.524118+00:00", "updated_at": "2024-09-19T19:58:50.524857+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-a83a0cf9-8fdf-42b6-ae9b-56d1769e2e3b X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:50.524118+00:00", "updated_at": "2024-09-19T19:58:50.524857+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-cacae9f2-2614-4636-983f-f5a87718bc68 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:50.620470+00:00", "updated_at": "2024-09-19T19:58:50.621165+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-cacae9f2-2614-4636-983f-f5a87718bc68 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"created_at": "2024-09-19T19:58:50.620470+00:00", "updated_at": "2024-09-19T19:58:50.621165+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-aece204e-4104-4551-ad9d-7c2ccf9fd0b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aece204e-4104-4551-ad9d-7c2ccf9fd0b2 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-299a211a-d18f-4149-9c0a-c3b1b5a5c0f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-299a211a-d18f-4149-9c0a-c3b1b5a5c0f4 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-226e7697-81d0-45aa-97c2-1da3918b6906 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "1b10f352-a942-4317-9c75-1a0b640c4acc", "created_at": "2024-09-19T19:58:50.906694+00:00", "updated_at": "2024-09-19T19:58:50.918099+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1b10f352-a942-4317-9c75-1a0b640c4acc", "rel": "self"}, {"href": "http://localhost/allocations/1b10f352-a942-4317-9c75-1a0b640c4acc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-226e7697-81d0-45aa-97c2-1da3918b6906 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"allocations": [{"uuid": "1b10f352-a942-4317-9c75-1a0b640c4acc", "created_at": "2024-09-19T19:58:50.906694+00:00", "updated_at": "2024-09-19T19:58:50.918099+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1b10f352-a942-4317-9c75-1a0b640c4acc", "rel": "self"}, {"href": "http://localhost/allocations/1b10f352-a942-4317-9c75-1a0b640c4acc", "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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_nodes_allocation_get_member [0.109312s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_265_nodes_allocation_delete_reader [0.103915s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.105560s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_deploy_templates_get_reader [0.100315s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.197344s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2 [0.482266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_deploy_templates_deploy_template_id_delete_admin [0.193131s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.110321s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_chassis_get_admin [0.092178s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_294_chassis_chassis_id_patch_member [0.060700s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized [3.562614s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.187321s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c756461b-4f31-43f0-8602-c3f5585c0b33 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "created_at": "2024-09-19T19:58:51.011116+00:00", "updated_at": "2024-09-19T19:58:51.025795+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "rel": "self"}, {"href": "http://localhost/allocations/a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c756461b-4f31-43f0-8602-c3f5585c0b33 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "created_at": "2024-09-19T19:58:51.011116+00:00", "updated_at": "2024-09-19T19:58:51.025795+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "rel": "self"}, {"href": "http://localhost/allocations/a8fc3d17-5fad-4ee3-bfb3-6b2c3bba0e86", "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-4bc2797b-7a52-4366-9d8d-1f94ad11c605 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-4bc2797b-7a52-4366-9d8d-1f94ad11c605 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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 GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c854bbb0-022c-4fec-a329-74813f3a4f9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "48c563f5-1ff6-4222-a592-805738f2a1da", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/48c563f5-1ff6-4222-a592-805738f2a1da", "rel": "self"}, {"href": "http://localhost/deploy_templates/48c563f5-1ff6-4222-a592-805738f2a1da", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c854bbb0-022c-4fec-a329-74813f3a4f9a X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"deploy_templates": [{"uuid": "48c563f5-1ff6-4222-a592-805738f2a1da", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/48c563f5-1ff6-4222-a592-805738f2a1da", "rel": "self"}, {"href": "http://localhost/deploy_templates/48c563f5-1ff6-4222-a592-805738f2a1da", "rel": "bookmark"}]}]} API ACL Testing Path delete /v1/deploy_templates/f346b424-8665-4edb-80ae-c3c00ef36af0 DELETE: /v1/deploy_templates/f346b424-8665-4edb-80ae-c3c00ef36af0 GOT:Response: 204 No Content Openstack-Request-Id: req-44d01433-db7a-48a7-a311-d7bb857d2851 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-44d01433-db7a-48a7-a311-d7bb857d2851 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ef9b22b-7cf8-42b9-8a1a-215dc033d426 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-6ef9b22b-7cf8-42b9-8a1a-215dc033d426 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b52c372-20b7-4f0a-9ea0-2a25b74a3918 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:51.601836+00:00", "updated_at": "2024-09-19T19:58:51.629907+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-2b52c372-20b7-4f0a-9ea0-2a25b74a3918 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:51.601836+00:00", "updated_at": "2024-09-19T19:58:51.629907+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9823f2f5-d8f3-49d6-8c72-12f77db1cec1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_295_chassis_chassis_id_patch_reader [0.053515s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.059238s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_304_node_history_get_entry_reader [0.071368s] ... ok {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.013137s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset [0.090113s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.022504s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.022906s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized [0.079928s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type [0.020308s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.129121s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit [0.013238s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.012714s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.016601s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.048859s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.018520s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.017896s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.015833s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.018463s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.185299s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.012791s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.086252s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.013576s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.013055s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.040703s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.037613s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.035853s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.041054s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.050940s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.029706s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.043455s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.033774s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.024934s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.040411s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.018150s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.013699s] ... ok {3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.029833s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.051384s] ... ok {3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.018450s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.038030s] ... ok {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.018255s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.042753s] ... ok {3} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.021983s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.031840s] ... ok {3} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.016360s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.023236s] ... ok {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.017181s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.014094s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.049071s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.017500s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.015455s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.016795s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.016774s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.026482s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk [0.866392s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.045517s] ... ok Error while running foo: bar. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.017506s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.015887s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit [0.029672s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.028974s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.042049s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.021615s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.025594s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.027872s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.014807s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.016974s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.035015s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.061100s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.023203s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.032725s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.017851s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.034888s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.040985s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.020023s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000118s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.029025s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.035187s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.015144s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.033287s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.015141s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.035753s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.016117s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.018955s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.011969s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.015312s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.015915s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.019348s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.013059s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.018747s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.061457s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.013602s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.016470s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.020428s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.017102s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.012111s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.013835s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.012716s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.029183s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.071761s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.015294s] ... ok {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.304868s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.019275s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.032359s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_permitted_format [0.014214s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.040413s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.027472s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.014767s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.012132s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.020094s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.012269s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.054132s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.011409s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.011480s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.060649s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.011975s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.031447s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.012771s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.027062s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.036663s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.063911s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.034124s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.022633s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.022660s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.040560s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.020853s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.024450s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.019921s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.013669s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.039693s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.011475s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.011952s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.033453s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.036519s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.069456s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.037319s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.028107s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.027382s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.015459s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.014050s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.059608s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.031110s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.013343s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.014088s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.013302s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.042343s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.261913s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.025116s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.057963s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.029638s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.028778s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.027531s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.016346s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.016559s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.071490s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.063078s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.024494s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.026958s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.031096s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.036341s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.074639s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.056100s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.036265s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.042296s] ... ok {3} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.057490s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.034898s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.039514s] ... ok {3} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.023626s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.044297s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.073199s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.034687s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum [0.074590s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks [0.013661s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.023421s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.041651s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.026531s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.122787s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.028268s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.377076s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_simple [0.034208s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.030827s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.083210s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.060400s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.038385s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.025165s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.079175s] ... ok {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.064216s] ... ok {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.035250s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.048986s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.078416s] ... ok {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.034453s] ... ok {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.074235s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.075004s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.089728s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.020711s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.060226s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.022672s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.081724s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.021051s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.072331s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.061219s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.096830s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vdi [0.591537s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhdx_invalid [0.025318s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.039912s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.031988s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.105652s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.056973s] ... ok 5+0 records in 5+0 records out 5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0416152 s, 126 MB/s {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.043413s] ... ok {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.077086s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.046688s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.030484s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.029791s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.028696s] ... ok {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.141210s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.029323s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.029900s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.012965s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.013637s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.013243s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.019932s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.127132s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.036891s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.059067s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.610367s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.021685s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.046572s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.032146s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.145171s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.031150s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.066662s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.040996s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.031228s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.056242s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.142752s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.082631s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.055677s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.137932s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.031678s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.030882s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.067115s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.035469s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.307716s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.035549s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.020621s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.030755s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.060935s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.028533s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.022002s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.049429s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.023203s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.013804s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.022776s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.191910s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.023850s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.013943s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.044323s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.013357s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.018243s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.013513s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.013627s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.028845s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.013104s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.029182s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.017492s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.014520s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.013209s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.031179s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.135457s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.018714s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.020818s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.018865s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.015491s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.014135s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.018367s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.014125s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.019439s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.015980s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.019374s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.025381s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.017103s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.015773s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.147381s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.030375s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.060176s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.029143s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.049260s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.029202s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.026998s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.069685s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.129983s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_source_path [0.031611s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.017537s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.026321s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.057426s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.028601s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.031841s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.018634s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.028119s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.018199s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.122335s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.025497s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.017956s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.017311s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.025133s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.014852s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.021196s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.071693s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.018042s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.047464s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.051547s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.057856s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.038837s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.049491s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.031675s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.057281s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.041274s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.017685s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.017215s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.067002s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.070076s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.018927s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.017430s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.047521s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.030149s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.062265s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.028959s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.027584s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.046669s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.049927s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.026813s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.025853s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.056970s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.027895s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.078121s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.041582s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.054792s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.039642s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.031411s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.020543s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.130735s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.043787s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.028800s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.019104s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.043860s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.036297s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.066809s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.140657s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.067350s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.028580s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.028056s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.017439s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.140755s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.017812s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.224550s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.017729s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.035674s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.021891s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.017220s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.040528s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.034674s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.039676s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.150181s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.059505s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.045816s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.035389s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.028737s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.066312s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.035663s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.018021s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.134783s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.014582s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.066065s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.013554s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.013110s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.013095s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.012079s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.011621s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.055235s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.018466s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.032308s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.029105s] ... ok {0} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails [0.013937s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.132722s] ... ok {0} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries [0.013265s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.025164s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.023460s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.033826s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.023421s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.013486s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.012916s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.013137s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.012960s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.059726s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.012727s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.013088s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.129373s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.012996s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.012964s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.053951s] ... ok {1} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.023029s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.029044s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.013411s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.014360s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.024189s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.012244s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.012490s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.022973s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.013205s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.014097s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.130411s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.023109s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_good [0.013754s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.012929s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.024595s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.022775s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.031103s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.068430s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.034272s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.028787s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.024917s] ... ok {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_no_rpc [0.022570s] ... ok {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.012562s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.090718s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.028697s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.127711s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.031361s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.074141s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.030442s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.013650s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.028833s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.021828s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.015751s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.034605s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.130034s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.024577s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_name_match_first [0.040788s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.024486s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.021137s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.034962s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.042385s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.039574s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.029727s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.132607s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.024667s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.026170s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.079410s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.025910s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.017394s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.034194s] ... ok {0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.012011s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.023215s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.024710s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.059813s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.033821s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.061860s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.108748s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.084548s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.058362s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.020066s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.088464s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.032153s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.429022s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.039906s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit [4.100816s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.078427s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_invalid [0.034279s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.079919s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.128008s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.084969s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.067016s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.224027s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.084874s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.125428s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.063924s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.046768s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.085273s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.034274s] ... ok {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.023662s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.024769s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.019862s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.030613s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.112297s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.033637s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.175018s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.097313s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.064751s] ... 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_get_power_state_fail [0.025096s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.027576s] ... 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_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.061864s] ... 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_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.126139s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.030457s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.019881s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.029087s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.056201s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.034058s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.037263s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.031209s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.122474s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.041161s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.066225s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.076072s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.066842s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.063550s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.077077s] ... ok {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.037608s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.110436s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized [0.882356s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.058845s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.038916s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.037621s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.013018s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.043957s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.036906s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.041297s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.023158s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.042248s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.021655s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.090863s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.172345s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.039886s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.061536s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.021537s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.068021s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.022093s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.033166s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.038560s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.085005s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.023848s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.039638s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.170608s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.061329s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.044978s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.092417s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.053431s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.060447s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.073198s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.039427s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.132658s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.053168s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.053266s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.042095s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.084969s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.037650s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.038731s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.035221s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.027351s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.084952s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.042924s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.134891s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.036019s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.025519s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.064009s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.076229s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.038876s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.105443s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.024228s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.023463s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.068350s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.023659s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.100194s] ... ok {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.028434s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.085531s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.032919s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.035175s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.023488s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.033884s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.073748s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.027250s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.115026s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.039596s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.037298s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.096755s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.023787s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.110083s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.035239s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.043677s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.094639s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_iso [0.026566s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.113213s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled [0.037886s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.070725s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.024411s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.385750s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.063663s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.083663s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.108049s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.075497s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.054008s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.074532s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.060398s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.142088s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.152684s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.065870s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.060873s] ... ok {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.028797s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.076347s] ... ok {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.029212s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.065670s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.021969s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.029117s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.076013s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.093680s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.188450s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.026706s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.063447s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.100392s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.056208s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.065654s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.077030s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.028638s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.173398s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.029333s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.057910s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.024248s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.024065s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.097045s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.068430s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.064052s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.102213s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.184901s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.057345s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.082073s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.131709s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.120363s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.066622s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.024265s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.254162s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.069884s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.097284s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_records_lessee [0.070054s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.089341s] ... ok {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.040876s] ... ok {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.037824s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.043988s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.043495s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.171606s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.053578s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.143439s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [1.010753s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.187952s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [0.902001s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.103510s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.020803s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.033288s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.021613s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.036000s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.142791s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.105368s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.073489s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.064858s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.061486s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.175482s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.133803s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.046601s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.073161s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.045571s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.077354s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.034500s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.032088s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.029227s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.029829s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.030473s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.027686s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.516419s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.030549s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.030907s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.140829s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.031259s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.031653s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.068667s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.030115s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.033171s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.134339s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.087698s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.031489s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.036874s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.059195s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.144210s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.039671s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.154842s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.065270s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.137034s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.132018s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.070033s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.154245s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.155872s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.056150s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.085779s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.048256s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.065411s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.672519s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.049336s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.137250s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.125831s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.057180s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.022680s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.024129s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.043693s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.080542s] ... ok {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.040892s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.153138s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.055324s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.035631s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.027688s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.048801s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.088952s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.038472s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.051438s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.358556s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.039779s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.037634s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.040374s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.155679s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.237365s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.087271s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.060686s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.043101s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.129780s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.022270s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.339575s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.028888s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.065052s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.026348s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.021105s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.019869s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.074759s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.036096s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.022149s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.064703s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.021437s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.038020s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.021034s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.068733s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.057398s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.036755s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.023133s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.022124s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.025145s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.016585s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.030229s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.018482s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.017136s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.080416s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.097958s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.015758s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.029724s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.039697s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.015665s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.014235s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.016333s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.029932s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.014913s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.020258s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.014335s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.018179s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.014556s] ... ok {3} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.015088s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.015367s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.016103s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.122227s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.015145s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.016467s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.075099s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.015348s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.016395s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.018055s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.027617s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.017721s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.015860s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.026259s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.078751s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.012588s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.025520s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.026084s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.026251s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_insecure_heartbeat [0.028987s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.026390s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.153628s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.084608s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.024159s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.021423s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.048923s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.030023s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.018541s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.089260s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.026219s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.070381s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.027845s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.028950s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.063919s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.018790s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.106612s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.018521s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.015711s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.044915s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.018107s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.039193s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.028599s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.039056s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.031943s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.055790s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.075516s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.031227s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.047513s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.032048s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.021204s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.031002s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.030350s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.026472s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.115591s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.026417s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.034042s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.030943s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.028556s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.017936s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.026271s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.017437s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.027704s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.017854s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.024207s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.036638s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.157979s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.043532s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.037065s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.026766s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.072659s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.033761s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.068518s] ... ok {3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image [0.013595s] ... ok {3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_flags [0.012833s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.027129s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.018640s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.028067s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.018390s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.018460s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.026045s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.014274s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.023815s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.789089s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.013025s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.013285s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.024935s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.013182s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.022794s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.016717s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.014470s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.013058s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.017725s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.014306s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.014274s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.089672s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.014196s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.014799s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.012383s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.022136s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.012287s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.021181s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.017419s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.012662s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.029471s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.012469s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.086131s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.014202s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.012473s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.032813s] ... ok {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.012451s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.031474s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.038966s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.083800s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.031619s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.029153s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.015689s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.031784s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.452931s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.030209s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.051689s] ... ok {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.032081s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.128478s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.025121s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.034698s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.023049s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.026089s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.020682s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.020036s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.077257s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.028139s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.028100s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.228213s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.017097s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.028499s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.069826s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.012687s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.018964s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.013434s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.109455s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.012561s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.028417s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.016608s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.013736s] ... 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.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.079095s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.053699s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.037885s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.018326s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.016908s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.021715s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.031803s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.014135s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.041007s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.014636s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.031776s] ... 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_retry_then_success [0.022561s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.013535s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.014552s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.057224s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.019989s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.057921s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.024469s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.075890s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.042514s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.037146s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.040271s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.100301s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.036536s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.035004s] ... 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_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.035463s] ... 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 " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.059297s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.075546s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.033517s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.041993s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.107828s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.019910s] ... ok This is bad/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.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.044638s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.022624s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.019941s] ... 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.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.037579s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.020523s] ... 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_max_retries_exceeded2 [0.040718s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.089526s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.025792s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.034509s] ... 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_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.026157s] ... 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_no_sync [0.040436s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.022333s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.025811s] ... 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.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.019093s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.013491s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.029042s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.012302s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.011982s] ... 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.026654s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.013214s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.052156s] ... 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.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.025967s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.036795s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.036526s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.022533s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.030113s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.145368s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.032829s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.026077s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.036912s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.027496s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.042732s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.035626s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.027499s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.029255s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.085968s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.028472s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.032751s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.045594s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.035538s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.019643s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.040053s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.029487s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.017833s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.024131s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.028945s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.044328s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.071179s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.094760s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.042668s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.039349s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.082486s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.036896s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.012463s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.091027s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.098793s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.107937s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.042563s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.105273s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.035576s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.084527s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.043230s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.019263s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.033355s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.015897s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.038016s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.019528s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.034272s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.020338s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.030974s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.019688s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.017297s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.067393s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.018565s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.166502s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.016553s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.018013s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.028064s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.035520s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.057440s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.032947s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.081883s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.034116s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.026852s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.058296s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.082638s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.115897s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.086174s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.103573s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.068663s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.075066s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.038251s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.081179s] ... ok {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.256904s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.016388s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.015291s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.115467s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.075054s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.073575s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.043079s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.021015s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.059455s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.018701s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.022093s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.017652s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.055318s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.193338s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.116581s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.024130s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.180204s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.017399s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.021625s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.035537s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.095851s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.104618s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.103968s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.049230s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.018069s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.048920s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.019346s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.075492s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.017944s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.015246s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.017870s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.014211s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.119327s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.017689s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.020229s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.034047s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.017888s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.030594s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.021862s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.023304s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.146664s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.042277s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.045599s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.082170s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.172534s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.049590s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.033909s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.070325s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.036915s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.199804s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.122229s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.053691s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.098574s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.044297s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.132026s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.042974s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.039583s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.038846s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.125833s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.024955s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.021545s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.055483s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.019908s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.024333s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.077602s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.031853s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.027847s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.042481s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.028673s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.073691s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.031587s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.034049s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.169805s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.065473s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.033934s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.440295s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.030578s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.028463s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.028985s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.039750s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.031918s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.033533s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.030541s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.070999s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.035629s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.233306s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.026488s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.019241s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.080202s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.038684s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.060982s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.056332s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.328809s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.120551s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.045696s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.048619s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.112455s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.070576s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.125892s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.053226s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.051089s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.077878s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.047662s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.030097s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.096430s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.028009s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.043564s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.017240s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.042152s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.067645s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.030346s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.021212s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.149709s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.018096s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.017381s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.012530s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.062244s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.027984s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.029357s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.117796s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.032532s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.026533s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.022124s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.030629s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.140875s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.029680s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.037315s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.050619s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.089731s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.029048s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.050671s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.033708s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.066818s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.084337s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.037670s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.053879s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.043135s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.062478s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.046175s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.061386s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.028460s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.053439s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.020527s] ... ok {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.074190s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.038565s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.072367s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.017334s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.023110s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.031190s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.020042s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.017279s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.068283s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.036341s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.025577s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.034652s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.023529s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.018565s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.064901s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.034611s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.158065s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.019046s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.018056s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.037989s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.019956s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.058344s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.018901s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.035681s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.020060s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.091954s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.019754s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.034258s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.020006s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.019540s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.056502s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.021616s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.016978s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.024934s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.044061s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.053536s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.029514s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.041075s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.029344s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.169071s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.059316s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.029652s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.028558s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.052998s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.020271s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.020510s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.020905s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.046892s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.020439s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.019857s] ... ok {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.045137s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.166911s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.034611s] ... ok {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.049829s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.222984s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.055155s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.051313s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.038421s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.030845s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.016031s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.035869s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.054186s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.028869s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.038797s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.029883s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.029176s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.041469s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.027956s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.029357s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.037448s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.050533s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.035580s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.046591s] ... ok {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.034760s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.037802s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.014058s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.094818s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.021031s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.059267s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.032042s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.022525s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.017843s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.025254s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.035713s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.056546s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.022379s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.030081s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.017586s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.016432s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.058642s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.035243s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.020215s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.019472s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.034508s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.038236s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.019372s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.177956s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.019634s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.029272s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.028703s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.017073s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.015986s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.031371s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.031548s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.016887s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.016735s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.031925s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.036645s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.026849s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.034780s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.044769s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.025565s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.141537s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.017672s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.035015s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.017282s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.046964s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.026358s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.029443s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.045276s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.039748s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.084085s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.030443s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.025414s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.044695s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.044381s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.029177s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.037036s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.028272s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.054734s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.028041s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.034564s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.030015s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.153001s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.033574s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.048745s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.042669s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.036421s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.045423s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.030679s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.029892s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.049254s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.053894s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.025425s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.030200s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.034847s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.152107s] ... ok {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.030847s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.031063s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.029115s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.029298s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.028740s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.066551s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.064940s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.029749s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.043666s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.029308s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.070760s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.150860s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.035559s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.034216s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.020266s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.013870s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.043395s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.063690s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.014370s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.024135s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.025004s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.062628s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.071732s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.024981s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.022154s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.164306s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.023799s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.055723s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.080350s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.024702s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.030743s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.023641s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.051459s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.023307s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.026662s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.017924s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.023627s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.042858s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.021564s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.148223s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.040061s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.026195s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.024463s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.013996s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.048939s] ... ok {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.012729s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.025465s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.043088s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.028292s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.020014s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.055049s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.022255s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.161270s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.040749s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.062405s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.022460s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.295682s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.035231s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.048317s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.025041s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.026996s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.025634s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.156786s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.061061s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.064095s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.025970s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.059005s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.027063s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.026628s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.029469s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.035474s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.052594s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.039027s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.034731s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.021390s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.056130s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.161918s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.043440s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.023135s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.019979s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.042505s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.036686s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.028033s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.021090s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.038603s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.021381s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.030053s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.021530s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.039201s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.028148s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.022443s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.145283s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.028657s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.039354s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.031935s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.016490s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.017754s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.031990s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.035359s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.073377s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.060290s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.035220s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.025308s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.037964s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.031119s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.034691s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.041764s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.066182s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.040234s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.024772s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.161746s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.039410s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.047080s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.045649s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.040136s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.111401s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.244789s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.053896s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.156263s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.036584s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.029918s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.028502s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.047886s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.020339s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.069686s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.031931s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.055016s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.070230s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.038713s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.148744s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.038675s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_already [0.034845s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.034997s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.034262s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.043643s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.047209s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.026437s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.026779s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.079712s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.068616s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.149972s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.026668s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.036312s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.027531s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.054599s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.027786s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.062631s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.019552s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.033895s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.027635s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.072686s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.033606s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.039789s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.082112s] ... ok {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.018817s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.044675s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.014052s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.031479s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.034583s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.044441s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.039761s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.075328s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.030170s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.034457s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.041181s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.038237s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.041368s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.030828s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.067885s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.029391s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.029758s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.122525s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.066677s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.043505s] ... ok {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.091481s] ... ok {0} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.014615s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.064357s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.071467s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.059248s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.081670s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.031351s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.045891s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.041543s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.037067s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.044836s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.014653s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.012861s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.016519s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.020081s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.043210s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.019657s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.019857s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.051286s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.020549s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.122292s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.019829s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.045212s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.027037s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.451414s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.048291s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.048951s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.045479s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.055588s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.031647s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.172643s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.044823s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.143335s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.042716s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.043309s] ... ok {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.049830s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.040947s] ... ok {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.045757s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.038717s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.027980s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.034668s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.041702s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.041908s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.091687s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.029605s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.039535s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.035593s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.080836s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.045191s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.033252s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.023963s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.059078s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.050228s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.070035s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.036695s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.042324s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.031443s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.059401s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.039274s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.039179s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.025532s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.156599s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.022021s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.027910s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.103111s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.047621s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.027846s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.047260s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.028381s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.160350s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.019182s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.037228s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.024563s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.041302s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.042331s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.041566s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.145522s] ... 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_correct_power_state_on_upgrade_lock [0.027194s] ... 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.db.test_api.UpgradingTestCase.test_check_versions [0.307673s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.064131s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.101916s] ... 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_no_power_sync_support [0.025288s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.242225s] ... 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_wrong_provision_state_on_upgrade_lock [0.022957s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.018857s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.020151s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.058854s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.089222s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.018609s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.017974s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.040274s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.020840s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.184806s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.020128s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.076349s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.022298s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.019854s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.055313s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.035876s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.033288s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.086233s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.142150s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.052236s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.238638s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.064373s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.042128s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.170664s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.116814s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.039406s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.027321s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.246121s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.096851s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.079935s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.053323s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.052285s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.058826s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.043687s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.060745s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.036647s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.089944s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.049538s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.056272s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.069440s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.154024s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.055212s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.062922s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.067295s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.058541s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.043872s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.084629s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.041955s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.052437s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.054399s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.063853s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.098179s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.208036s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.038278s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.047700s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.042569s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.069713s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.041954s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.037580s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.044064s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.068670s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.033161s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.049787s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.036599s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.039482s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.081771s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.208155s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.035723s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.041892s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.050583s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.035618s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.040358s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.037890s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.041854s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.044927s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.040781s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.048658s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.046560s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.156626s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.040584s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.046015s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.048480s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.042907s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.047334s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.111152s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.045597s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.139420s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.041557s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.045028s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.047127s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.055856s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.093099s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.067455s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.075765s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.078796s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.070163s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.069495s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.063174s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.052167s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.089863s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.058060s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.055125s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.073991s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.044160s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.075338s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.037282s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.060304s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.052299s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.284573s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.065584s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.070071s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.061132s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.042153s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.056451s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.066820s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.031506s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.068912s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.078003s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.078149s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.032809s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.090196s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.091111s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.054555s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.046446s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.039700s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.083056s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.054198s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.043015s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.037462s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.038694s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.066817s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.040239s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.056798s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.195868s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.087784s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.071470s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.071872s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.044202s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.122831s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.082603s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.100273s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.059691s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.062459s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.068433s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.066163s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.108777s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.057048s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.205971s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.054708s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.105660s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.060158s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.089374s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.078138s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.174218s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [0.078213s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.063873s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.112776s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.089286s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.422653s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.080221s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.246958s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.121419s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.092302s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.062908s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.072476s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.109245s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.065950s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.187984s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.098648s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.231306s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.058539s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.041808s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.064438s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.051054s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.056849s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.033451s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.026585s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.023269s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.022292s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.069537s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.024301s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.213056s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.022750s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.024253s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.051237s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.023871s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.051098s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.036938s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.039175s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.071695s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.042433s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.202579s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.042126s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.052507s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.035495s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.468602s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.027376s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.053392s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.047608s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.022710s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.064827s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.052125s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.023990s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.066455s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.053742s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.046080s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.051344s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.061592s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.048100s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.040014s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.093459s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.086000s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.046979s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.040040s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.036906s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.050781s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.066578s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.045275s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.044326s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.070343s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.048268s] ... ok {0} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.070508s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.058401s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.044864s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.193784s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.044033s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.049419s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.077164s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.048456s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.069092s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.135969s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.076384s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.058193s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.048591s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.045832s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.059478s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.066680s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.065386s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.036117s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.050494s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.067476s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.043501s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.066178s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.046771s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.098559s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.085054s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.064655s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.078837s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.082392s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.090326s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.060915s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.120779s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.036585s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.061674s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.075844s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.059635s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.058221s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.064585s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.073572s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.059017s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.056564s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.057645s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.155931s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.057070s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.069142s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.052701s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.105590s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.042135s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.039834s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.060556s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.073095s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.075516s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_redfish_properties [0.054267s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.096660s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.044170s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.086590s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.065584s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.070378s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.040663s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.075634s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.111246s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.036820s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.059919s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.039795s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.377077s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.060733s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.036354s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.038462s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.079177s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.038481s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.086918s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.043466s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.037782s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.070147s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.037991s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.081306s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.096876s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.058597s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.091694s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.039798s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.070258s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.057206s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.116349s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.091756s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.076179s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.069270s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.045471s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.075668s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.094291s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.049581s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.076899s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.085334s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.075731s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.067869s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.117023s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.075860s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.045151s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.081260s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.129902s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.119255s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.090555s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.118464s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.048532s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.069244s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.018991s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.139015s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.035397s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.095918s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.033461s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.157296s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.062157s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.029110s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.018737s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.020143s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.019291s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.077336s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.106744s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.090027s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.055448s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.042635s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.077096s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.084750s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.046150s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.048453s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.044133s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.070226s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.057796s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.044017s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.040635s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.029949s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.042550s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.027126s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.025252s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.134769s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.023401s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.080328s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.027005s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.026503s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.061512s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.087774s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.036361s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.062486s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.063570s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.074540s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.062948s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.071983s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.061912s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.040465s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.074603s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.065432s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.029759s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.077393s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.071871s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.051859s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.030045s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.058516s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.051068s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.053768s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.048462s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.076477s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.041787s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.052988s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.036607s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.053978s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.078541s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.075778s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.052947s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.067597s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.056329s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.066407s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate [0.071139s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.048794s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.083855s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.100320s] ... 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.068298s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.197290s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.092287s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.032598s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.026722s] ... 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.072054s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.073686s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.038222s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.061811s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.053646s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.062847s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.055112s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.046048s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.068065s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.058558s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.061733s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.060099s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.055264s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.043252s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.048267s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.045247s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.065176s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.037951s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.044281s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.045221s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.070986s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.036784s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.030506s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.052982s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.042931s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.091986s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.039617s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.047902s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.043431s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.044923s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.038375s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.093841s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.037745s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.040308s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.039953s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.076035s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.041674s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.052265s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.038744s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.071906s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.043198s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.077443s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.068782s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.069106s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.058706s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.109468s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.096146s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.045256s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.107020s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.063959s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.079008s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.061919s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.057469s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.053104s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.135012s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.052350s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.054505s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.065284s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.035262s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.106758s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.042570s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.039958s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.039242s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.114380s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.040332s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.071517s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.038827s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.517038s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.039972s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.065699s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.041079s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.074949s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.043888s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.066266s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.040392s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.114369s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.037332s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.075336s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.041701s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.104402s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.038214s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.059151s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.040508s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.076153s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.042766s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.087141s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.035684s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.045355s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.071306s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.027875s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.051996s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.056760s] ... ok {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.066164s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.055728s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.052773s] ... ok {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.059575s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.063150s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.049935s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.065504s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.052135s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.055292s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.056033s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.047439s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.055407s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.045171s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.065390s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.059417s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.062798s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.063157s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.065907s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.078969s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.071404s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.067078s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.061015s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.073570s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.063859s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.074886s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.044522s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.034836s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.067058s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.036682s] ... ok {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.033532s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.016183s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.015316s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.076492s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.015704s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.015594s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.015250s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.049368s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.028885s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.055899s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.039904s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.053277s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.043982s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.039233s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.055296s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.050415s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.024103s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.023647s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.026134s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.061156s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.055416s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.053094s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.053286s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.075458s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.039904s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.036151s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.069883s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.037552s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.050980s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.061149s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.050469s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.072734s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.062674s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.038459s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.061346s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.027405s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.024949s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.021981s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.022147s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.073703s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.027092s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.024214s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.063443s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.492582s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.039578s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.052660s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.039444s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.040058s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.020694s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.021622s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.086339s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.019958s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.018266s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.027030s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.078527s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.019328s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.029565s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.031698s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.083685s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.031905s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.057734s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.099817s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.050864s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.048085s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.060211s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.038626s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.062526s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.061879s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.034183s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.051983s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.038711s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.066623s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.034173s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.036874s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.076245s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.044864s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.044891s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.058073s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.043843s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.075471s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.062862s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.074547s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.031087s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.051049s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.057860s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.029234s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.061678s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.044119s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.031016s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.043279s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.071018s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.058761s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.049557s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.192316s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.063453s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.035350s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.050062s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.067248s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.056738s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' 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_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.016535s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.032399s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.077020s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.030753s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.019257s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.024488s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.053923s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.019805s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.035686s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.022420s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.023793s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.018980s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.019049s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_file_url [0.063559s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.021203s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.020757s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.052368s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.023157s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.016358s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.015888s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.045750s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.022387s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.565578s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.017326s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.019711s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.018467s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.066652s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.023831s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.080060s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.041637s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.064766s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.044371s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.046927s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.046913s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.051944s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.040693s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.068655s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.057442s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.061133s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.057872s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.039644s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.087463s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.037342s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.063913s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.051570s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.051502s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.066669s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.052583s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.051301s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.044489s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.071552s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.039340s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.041294s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.042522s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.041894s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.088860s] ... ok {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.049159s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.090231s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.064543s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.046723s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.037839s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.059153s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.090905s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.038181s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.037702s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.032576s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.052414s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.078065s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.039965s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.039757s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.035186s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.038803s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.077405s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.034241s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.044953s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.034938s] ... 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.020714s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.035704s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.096198s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.052101s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.046814s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.044711s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.055938s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.038109s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.020753s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.035686s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.031970s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.031657s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.072929s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.031454s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.036553s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.084293s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.036644s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.054150s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.037752s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.074616s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.038935s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.045993s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.070987s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.054891s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.049856s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.078267s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.045739s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.063258s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.087959s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.055772s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.066324s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.044441s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.041813s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.059717s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.043135s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.095890s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.056990s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.048964s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.081069s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.083733s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.062139s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.063955s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.053241s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.053838s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.049142s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.079841s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.067851s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.061339s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.079331s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.061544s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.056088s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.059229s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.039551s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.054988s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.053470s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.048591s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.035819s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.057671s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.075445s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.055660s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.019122s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.056754s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.056653s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.048159s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.063694s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.081735s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.044877s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.037884s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.018709s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.046472s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.071790s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.027696s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.038047s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.043673s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.044605s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.097549s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.036825s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.042341s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.104683s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.069864s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.046582s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.068857s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.042369s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.052041s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.057418s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.041843s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.053833s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.070652s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.047826s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.050802s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.074640s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.045781s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.039000s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.075368s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.042870s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.050910s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.040762s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.038004s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.042153s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.023776s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.039300s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.033745s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.042662s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.034195s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.395601s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.055607s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.061494s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.042127s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.038948s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.070209s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.041563s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.062034s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.065480s] ... ok {3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.086407s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.066948s] ... ok {3} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.026861s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.075242s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.031681s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.061835s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.051857s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.083901s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.029464s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.025061s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.099260s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.026167s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.077798s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.038190s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.061939s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.070962s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.050142s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.043531s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.033133s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.032782s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.045496s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.071721s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.084931s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.074757s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.057552s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.078120s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.057914s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.064297s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.070603s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.080233s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.060542s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.041162s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.044085s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.043564s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.018195s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.059958s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.044412s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.048385s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.075999s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.071246s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.077442s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.072260s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.062779s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.053219s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.067212s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.067220s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.074034s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.397279s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.047076s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.036343s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.070261s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.036137s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.030328s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.059190s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.068153s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.069478s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.028750s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.077545s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.035686s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.061608s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.089726s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.059004s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.069568s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.060341s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.056124s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_http_url [0.058385s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.054030s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.037604s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.414402s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.063708s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.047569s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.030455s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.064257s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.063337s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.076883s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.048694s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.059771s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.056654s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.047462s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.037256s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.041077s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.066511s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.056477s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.057920s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.032665s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.040965s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.028194s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.053245s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.064736s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.033066s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.047964s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.050812s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.055193s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.114813s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.038659s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.055719s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.067110s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.073851s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.068489s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.064101s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.086427s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.056442s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.071017s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.076616s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.032873s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.035300s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.040010s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.045863s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.055926s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.098882s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.031337s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.056547s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.028009s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.036865s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.040746s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.096289s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.027521s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.026812s] ... 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.030033s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.073972s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.132508s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.049099s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.076903s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.057627s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.105483s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.037497s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.038653s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.086612s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.035056s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.082223s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.024517s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.084196s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.020564s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.106798s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.072916s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.095323s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.102588s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.128202s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.093505s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.083802s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.078637s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.101533s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.038007s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.068507s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.055090s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.109508s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.060201s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.056506s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.051138s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.053240s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.132041s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.094344s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.081969s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.091317s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.108809s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.071667s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.082666s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.087891s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.082335s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.078197s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.094103s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.054244s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.072600s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.046090s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.079232s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.112084s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.091461s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.095549s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.082113s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.049406s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.041715s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.096071s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.111262s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.073345s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.099139s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.092085s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.061321s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.078387s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.096308s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.075958s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.116506s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.093908s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.073020s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.102879s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.117291s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.063647s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.074792s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.092000s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.104010s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.073343s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.105551s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.099427s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.097767s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.093212s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.088958s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.108306s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.141586s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.075018s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.103535s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.112224s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.134180s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.094296s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.104167s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.137748s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.131540s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system_exception [0.105493s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.127958s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.111115s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.101697s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.074147s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.137088s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.107015s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.067609s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.078881s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.045879s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.126764s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.064549s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.125244s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.070977s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.045574s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.122367s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.057680s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.046181s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.064370s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.073879s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.140991s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.072858s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.094265s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.106392s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.078783s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.089256s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.099362s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.108416s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.077581s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.110441s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.058769s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.080761s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.137975s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.107640s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.146120s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.128139s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.149191s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.093892s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.041364s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.148466s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.069843s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.108688s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.125368s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.103656s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.601662s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.095311s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.070339s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.168490s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.082923s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.155007s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.053213s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.105449s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.071311s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.107074s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.144501s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.079845s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.100059s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.067422s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.131074s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.065929s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.026865s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.038496s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.109157s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.038827s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.036332s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.079394s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.053661s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.090837s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.078991s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.127002s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.059543s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.038365s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.041339s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.129425s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.059770s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.050703s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.119194s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.040258s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.041013s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.037064s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.135851s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.050494s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.076273s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.123616s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.103031s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.054822s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.117656s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.084215s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.122932s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.087260s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.124622s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.130564s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.095233s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.066231s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.042054s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.067547s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.035782s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.035602s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.086749s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.049462s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.083448s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.030400s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [0.168202s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.044550s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.053312s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.049376s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.070921s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.068966s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.078765s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.037365s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.063112s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.087311s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.082338s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.049691s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.075173s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.051240s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.054507s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.073909s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.059160s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.087024s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.085983s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.103629s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.083566s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.062030s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.485004s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.109945s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.103910s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.109128s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.088453s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.108336s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.093197s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.129546s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.057155s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.096562s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.091090s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.047835s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.097537s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.061737s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.054171s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.118715s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.070208s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.080582s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.107550s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.076153s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.083452s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.049709s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.090583s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.076179s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.077091s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.111994s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.081936s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.093691s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.085601s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.114011s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.135650s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.104458s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.111113s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.095557s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.110449s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.068263s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.070257s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.046145s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.064453s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.080203s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.083531s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.086253s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.095393s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.089838s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.067844s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.100926s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.081492s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.121280s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.135705s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.117851s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.101433s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.100055s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.067808s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.075374s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.080191s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.098770s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.095011s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.080583s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.063989s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.620329s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.077972s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.152930s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.126670s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.082546s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.088176s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.114736s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.074851s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.115588s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.149874s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.092907s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.096669s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.076443s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.069443s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.158944s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.049123s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.088388s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.048943s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.104741s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.065334s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.048622s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.095750s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.051109s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.062294s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.064842s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.062286s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.050900s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.081197s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.087460s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.052007s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.095555s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.089622s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.056100s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.074488s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.047596s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.059360s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.078381s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.089997s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.053043s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.092616s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.092382s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.093189s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.106637s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.108644s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.088061s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.119614s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.071550s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.120766s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.076312s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.098560s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.072586s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.069444s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.083613s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.070263s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.086586s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.075543s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.070635s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.054044s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.040427s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.081072s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.075316s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.105832s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.089592s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.096573s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.073544s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.070454s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.074057s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.067944s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.074240s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.036503s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.042367s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.066608s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.055457s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.044061s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.027627s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.034295s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.106658s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.051209s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.091875s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.052978s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.031279s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.036258s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.082642s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.031115s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.041969s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.035908s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.032751s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.017100s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.015467s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.054440s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.013819s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.012496s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.013471s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.067385s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.031730s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.036879s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.043009s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.034623s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.038800s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.033582s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.039003s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.066061s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.049665s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.065493s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.057343s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.077087s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.046597s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.067144s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.038768s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.084009s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.044412s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.044433s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.029077s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.279795s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.062958s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.234543s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.057764s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.046443s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.056117s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.047772s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.049737s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.043406s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.033014s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.032513s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.029885s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.044457s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.021078s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.018567s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.029185s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.058235s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.048776s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.051499s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.034150s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.033982s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.025974s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.042746s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.028527s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.042740s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.024873s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.018871s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.038937s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.040000s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.071251s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.022814s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.034449s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.026594s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.061531s] ... ok {3} 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.026144s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.031350s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.038997s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.025410s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.129154s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.024299s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.015345s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.057177s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.071417s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.117843s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.054566s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.122669s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.080032s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.027162s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.026634s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.088306s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.093816s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.072824s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.087954s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.088110s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.042911s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.063944s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.045700s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.044972s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.061598s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.079442s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.076005s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.077637s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.067871s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.059686s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.087226s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.033822s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.078269s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.040682s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.039460s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.062126s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.036484s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.030001s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.066128s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.040257s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.033951s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.067218s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.034356s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.054981s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.075262s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.077463s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.053301s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.045997s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.031677s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.051868s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.041977s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.063179s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.057686s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.073246s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.053993s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.060452s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.048108s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.061972s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.045791s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.037984s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.060714s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.037466s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.032763s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.089454s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.031859s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.035772s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.065653s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.066525s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.064166s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.048608s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.052661s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.036977s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.058535s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.039083s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.048539s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.069224s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.084705s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.056030s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.039027s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.095471s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.063884s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.060744s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.321733s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.105478s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.085214s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.033735s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.037194s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.031413s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.032820s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.033259s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.042149s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.030051s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.020590s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.019636s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.018838s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.018894s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.018788s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.047911s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.075459s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.057980s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.021762s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.030048s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.040782s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.040422s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.038201s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.038001s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.053025s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.029530s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.028746s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.035139s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.034840s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.032515s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.037425s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.061805s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.041130s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.033618s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.034691s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.073269s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.036157s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.045425s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.059382s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.065951s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.036076s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.059877s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.052181s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.030595s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.060781s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.077834s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.116378s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.036352s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.029512s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.081480s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.013745s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.013781s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.012619s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.050734s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.013682s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.014158s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.012480s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.012637s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.016433s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.072875s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.040052s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.059082s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.082756s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.040198s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.019515s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.026816s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.075547s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.028280s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.027571s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.015936s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.077615s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.016990s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.044886s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.087625s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.040668s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.016155s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.016145s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.054257s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.025697s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.057720s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.048379s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.040860s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.063977s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.015946s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.019805s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.055155s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.040141s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.021737s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.024099s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.022539s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.022840s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.074542s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.025982s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.023334s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.055584s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.025132s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.041936s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.038810s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.015124s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.014470s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.015284s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.015031s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.018002s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.028716s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.015557s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.019306s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.017665s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.023151s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.035274s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.360473s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.035781s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.033474s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.021800s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.018240s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.033670s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.017944s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.046781s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.037021s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.023649s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.040206s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.025390s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.022887s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.061365s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.051160s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda_img_checked [0.073572s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.038217s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.063147s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.031645s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.037108s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.019210s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.088969s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.028815s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.046531s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.092340s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.044886s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.103912s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.051540s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.065793s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.058419s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.044193s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.064892s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.030649s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.033602s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.074809s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.043067s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.059909s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.048973s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.037448s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.077205s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.045971s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.041047s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.078021s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_deep_inspection_disabled [0.030897s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.028529s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.126333s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.059619s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.088146s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.101317s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_format_does_not_match_glance [0.341272s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.026871s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.015858s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.014220s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.076272s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.014151s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.016942s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.036119s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.024593s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.040162s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.023062s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.019264s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.020462s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.048240s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.017038s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.033512s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.022491s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.035117s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.042160s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.020375s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.026627s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.044157s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.024490s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.040948s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.026018s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.027359s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.041929s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.038940s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.052729s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.062154s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.047115s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.038060s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.045418s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.153926s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.044708s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.088594s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.038517s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.155614s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.032064s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.022934s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.065529s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.033878s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.058027s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.032786s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.020659s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.018497s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.056906s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.054632s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.059887s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.022468s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.020108s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.015586s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.057403s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.014253s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.013290s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.013080s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.014167s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.060829s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.015548s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.013010s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.048932s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.075331s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.033128s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.028823s] ... 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.062424s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.029592s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.030465s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.041292s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.040302s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.045517s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.034297s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.048348s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.028819s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.029632s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.030160s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.053426s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.031317s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.051310s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.029140s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.030180s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.055555s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.039929s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.029715s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.027914s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.025840s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.045494s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.029192s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.039131s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.053807s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.037674s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.041651s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.045847s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.043632s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.046715s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.058413s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.041083s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.040634s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.083170s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.048598s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.034139s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.022263s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.081892s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.021079s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.021088s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.019729s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.019451s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.019329s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.074661s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.030321s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.032169s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.022563s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.020237s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.102936s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.033323s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.066040s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.055140s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.026203s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.026512s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.060213s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.021743s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.032276s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.022650s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.069405s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.021310s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.024249s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.028472s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.068802s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.032115s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.062475s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.042816s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.033836s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.026286s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.087853s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.024933s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.031570s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.056966s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.026765s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.029533s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.032825s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.076932s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.043786s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.062411s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_with_fallback [0.045670s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.051267s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.117830s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.049965s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.050336s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.070072s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.049446s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.072714s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.067870s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.070540s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.074152s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.081959s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.057762s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.317541s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.075800s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.044260s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.061387s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.027935s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.052764s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.055813s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.087065s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.052758s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.047201s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.030056s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.032310s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.081853s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.026760s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.030600s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.067842s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.031392s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.044846s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.058446s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.046295s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.043239s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.098528s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.073479s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.052119s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.053025s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.076590s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.036074s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.063107s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.072398s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.051241s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.037539s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.098350s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.038305s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.032551s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.032740s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.040164s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.068865s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.037535s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.036974s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.028565s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.035558s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.033520s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.026897s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.058625s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.058186s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.030502s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.038085s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.046804s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.019103s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.017146s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.026629s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.037808s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.038105s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.037350s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.034357s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.034364s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.016990s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.372977s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.031358s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.040342s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.057263s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.039995s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.059647s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.032247s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.035539s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.057666s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.032361s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.032669s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.067425s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.034442s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.038299s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.071203s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.035139s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.036927s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.030750s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.101757s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.101298s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.063680s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.129583s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.062371s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.037640s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.114224s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.068573s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.068413s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.057265s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.083162s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.058030s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.041613s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.034472s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.045729s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.035460s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.045727s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.029409s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.034006s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.026823s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.046327s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.070070s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.044798s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.060370s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.086804s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.064897s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.087436s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.188179s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.197300s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.062802s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.095387s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.059461s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.072375s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.033750s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.043168s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.039914s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.046004s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.028768s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.044044s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.041772s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.054308s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.045265s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.042823s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.030356s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.048980s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.031209s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.047775s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.031048s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.029446s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.046929s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.029128s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.025075s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.023539s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.036031s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.122536s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.060852s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.094216s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.069466s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.051692s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.019912s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.023246s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.119824s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.029742s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.014861s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.019851s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.019740s] ... ok {2} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.013330s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.112708s] ... 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_idrac [0.078724s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.082669s] ... 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.108656s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.082839s] ... 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_bios [0.084996s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.074254s] ... 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.065838s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.066167s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.054416s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.108676s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.068363s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_missing_attr [0.063465s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.117539s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.112018s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.124668s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.103992s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.142919s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.116222s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.147958s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.173145s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.131485s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.234426s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.259833s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.072198s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.218597s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.073044s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.069578s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.064024s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.206485s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.129113s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.235662s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.109370s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.125832s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.080181s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.221077s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.107358s] ... ok {2} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.210378s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.150627s] ... ok {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.134211s] ... ok {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.177364s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.283741s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.101966s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.158355s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.102698s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.068765s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.074249s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.103502s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.093950s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.117912s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.051148s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.186562s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.096374s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.039231s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.068024s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.058032s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.475165s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.037607s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.043422s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.064401s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.042195s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.047057s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.022713s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.049209s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.073863s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.033364s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.035262s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.020445s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.023596s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.022518s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.025245s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.059001s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.045247s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.043422s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.247712s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.020151s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.077550s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.091851s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.099479s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.035965s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.025651s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.077671s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.074649s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.055547s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.075255s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.063427s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.044434s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.074244s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.032614s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.063089s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.026470s] ... ok {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.015188s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.018826s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.024738s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.107042s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.038131s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.029346s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.022741s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.019726s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.025414s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.123069s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.035788s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.034100s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.019348s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.018537s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.091143s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.023778s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.023544s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.063314s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.051500s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.110503s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.132689s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.064090s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.085580s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.135776s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.114571s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.118447s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.139456s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.120066s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.108431s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.105049s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.064761s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.114779s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.029672s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.033231s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.066067s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.039620s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.052108s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.080419s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.035742s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.038765s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.034882s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.089931s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.039683s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.032768s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.079610s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.032353s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.033465s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.064156s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.035560s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.060837s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.036072s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.032470s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.062078s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.061852s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.028063s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.031356s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.088712s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.023310s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.024747s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.048061s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.017246s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.026206s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.020407s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.019203s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.020126s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.053315s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.046971s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.024745s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.075547s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.014272s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.019887s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.018455s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.047848s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.014582s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.041273s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.099682s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.049610s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.033675s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.070844s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.041117s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.041143s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.036615s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.043199s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.069246s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.036742s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.044773s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.035715s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.028716s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.016049s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.054883s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.045651s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.062933s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.044755s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.057569s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.039924s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.047320s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.073793s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.040736s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.034759s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.090397s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.034531s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.026163s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.051156s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.044745s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.032634s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.177319s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.038009s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.019842s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.022589s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.031314s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.027937s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.035823s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.152683s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.034249s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.021615s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.061731s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.165099s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.053877s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.044078s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.055003s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.032250s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.144518s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.049635s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.056107s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.031466s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.050442s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.099390s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.048471s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.050941s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.030223s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.047158s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.036589s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.049297s] ... ok {2} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.025984s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-791b78d7-c55b-4cd4-8eb3-3e39438412ef X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "19da89f3-be1f-4fe5-a4fb-151f234a9833", "created_at": "2024-09-19T19:58:39.212732+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/19da89f3-be1f-4fe5-a4fb-151f234a9833", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bb36a286-fbeb-4f8d-94b1-7e576e2db232 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bb36a286-fbeb-4f8d-94b1-7e576e2db232 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fc80b65-1674-4bbe-9969-0455027f0108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "bb36a286-fbeb-4f8d-94b1-7e576e2db232", "created_at": "2024-09-19T19:58:39.285710+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/bb36a286-fbeb-4f8d-94b1-7e576e2db232", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fc80b65-1674-4bbe-9969-0455027f0108 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "bb36a286-fbeb-4f8d-94b1-7e576e2db232", "created_at": "2024-09-19T19:58:39.285710+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/bb36a286-fbeb-4f8d-94b1-7e576e2db232", "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-c10b1fd2-1c0d-4dba-8b0d-f1b33feafa5e {"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-e88950e6-39f9-4f27-8e9c-c39d19da2008 {"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-a7028ba9-ce39-4937-ac1e-a1c097604a49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-39b66381-2342-4ee1-8ad5-aba32c33d9ab {"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} GET: /v1/things {'name': 'foo', 'flag': 'truish'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea1c5a0c-3d84-4ad1-8c13-2e4554518a54 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid flag: Unrecognized value 'truish', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/things/response_content {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af2ed3cb-7168-4b66-bdec-9729a4506649 "nothing" GET: /v1/things/response_custom_status {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-9b596963-c18a-4ecd-9b77-37534297ec90 "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.80'}, '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'}]} func1() migrated 10 of 10 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. Malformed option m1key1=value1 Running batches of 50 until migrations have been completed. Data migrations have completed. [NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=0be6d9b2-a937-438c-9d23-708b4dbbcb39), NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=57fa6bd5-dd90-485e-8c66-913910314653), NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=7d088590-21a3-4d84-ae31-b6937b3a915a), NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=9c3f9c68-fc0f-4c79-900d-b8a8f855297f), NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=28b022dd-87ac-44a3-b577-dec5f6316035), NodeHistory(conductor='fake-mini',created_at=2024-09-19T19:58:59Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=b8e4d72f-8d81-449c-b8fb-df727768bde2)] Exception ignored in: Traceback (most recent call last): File "/usr/lib64/python3.9/tempfile.py", line 461, in __del__ File "/usr/lib64/python3.9/tempfile.py", line 457, in close FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmppnb52_y4/tmpoduwo6x9' {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.061383s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.020576s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.020917s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.029148s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.029143s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.017322s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.016839s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.020122s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.024024s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.020856s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.012987s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.012720s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.041385s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.053698s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.063821s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.057237s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.036040s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.024013s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.038552s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.054529s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.104258s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.021009s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.016643s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.056522s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.040982s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.033962s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.046581s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.045388s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.035498s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.028539s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.019804s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.039571s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.040325s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.027641s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.039083s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.050059s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.049764s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.387493s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.039119s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.044628s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.025336s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.028868s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.039637s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.038963s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.023970s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.032589s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.037812s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.032856s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.027614s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.024790s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.019142s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.037541s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.046353s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.021373s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.022969s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.061514s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.041820s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.025325s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.027040s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.237209s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.060457s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.016979s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.047739s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.064182s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.032512s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.038385s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda [0.058803s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_not_checked [0.045319s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.068965s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.057431s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.057309s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.055672s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.047647s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.033264s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_anaconda [0.042422s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.056396s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.029565s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.056328s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.058845s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_image [0.048121s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_kernel [0.043034s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.041325s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.027377s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.022882s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.019286s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.034596s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.047768s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.040732s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.034304s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.018895s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.045660s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.077735s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.035982s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.045451s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.035076s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.039672s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.039683s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.029957s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.021486s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.033967s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.036297s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.580824s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.030303s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.337098s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.077232s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.026766s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.051259s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.046615s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.051704s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.040239s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.046105s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.083533s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.057718s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.101022s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.099237s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.102597s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.066950s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.081088s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.061553s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.058415s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.075567s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.046507s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.032540s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.047457s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.061062s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.088902s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.057844s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.061909s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.060343s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.054884s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.038475s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.128571s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.069168s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.027674s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.042975s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.052019s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.032783s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.031980s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.048704s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.038783s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.021905s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.032753s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.028386s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.024689s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.040942s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.021365s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.031258s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.083983s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.071891s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.080340s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.046425s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.071662s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.068417s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.049894s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.040258s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.035019s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.050388s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.054136s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.070675s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.028668s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.042161s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.071851s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.059204s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.086291s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_active [0.070322s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.134156s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.125751s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.200741s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.120168s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.033998s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.038043s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.048425s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.069699s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.020848s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.489292s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.108555s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.123592s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.046161s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.053435s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.058277s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.039713s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.039407s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.039599s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.045607s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.032106s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.029803s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.036795s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.067652s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.053040s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.138414s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.120270s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.024562s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.022383s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.030265s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.056406s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.036092s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.024459s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.018816s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.017923s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.045461s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.022660s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.023383s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.024530s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.035768s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.017906s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.018219s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.021100s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.015988s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.021117s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.022243s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.021649s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.019243s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.037732s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.020431s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.031375s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.068959s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.038412s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.039676s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.041659s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.236915s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.029935s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.020247s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.025177s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.028301s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.060968s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.026366s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.019351s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.034692s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.020718s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.016920s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.034181s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.043823s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.038997s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.015081s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.012344s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.013400s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.030402s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.030234s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.021530s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.033682s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.020867s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.030802s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.022326s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.061501s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.022779s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.015116s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.013914s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.013226s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.017193s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.017439s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.054896s] ... 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_raid [0.072186s] ... 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_inspect [0.132617s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.056160s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.034627s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.059695s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.042955s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.061787s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.071412s] ... ok {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.070931s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.070067s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.098730s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.041908s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.051619s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.066257s] ... ok {3} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.113151s] ... ok {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.094094s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.025630s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.028613s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.032006s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.130739s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.094731s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.127738s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.065294s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.040554s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.020879s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.021417s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.036423s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.025082s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.015718s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.015273s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.018804s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.047021s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.017635s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.028379s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.017535s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.024371s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.028578s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.046505s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.038021s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.047643s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.023272s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.031416s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.037701s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.027171s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.018496s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.017798s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.041828s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.044822s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.060960s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.075687s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.040953s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.018684s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.057221s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.024684s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.033667s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.023554s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.028183s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.015050s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.015302s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.014301s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.014914s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.014476s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.015406s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.015144s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.015000s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.046709s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.027923s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.018372s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.020626s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.019829s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.018112s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.021107s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.020467s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.021198s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.014769s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.020004s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.013875s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.012701s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.018949s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.049124s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.021388s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.022709s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.057546s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.032879s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.043074s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.024572s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.044472s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.076132s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.075666s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.155395s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.044565s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.045997s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.038010s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.019531s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.047896s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.034437s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.028251s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.025764s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.028446s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.015914s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.021076s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.021185s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.017092s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.033288s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.024439s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.032734s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.018809s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.014884s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.060042s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.068382s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.029129s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.015966s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.031264s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.042753s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.033151s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.014831s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.030920s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9823f2f5-d8f3-49d6-8c72-12f77db1cec1 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f7662a3-41af-48df-a98b-0067ac91fb09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc", "created_at": "2024-09-19T19:58:51.740784+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/e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f7662a3-41af-48df-a98b-0067ac91fb09 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc", "created_at": "2024-09-19T19:58:51.740784+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/e7b72e69-7d6a-45ea-96ca-6a3e4fb007dc", "rel": "self"}]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3aa03fb6-3d57-4673-9d24-8af470f119e9 {"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-21.1.3.dev5/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-21.1.3.dev5/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/ouch {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-00e4bf04-7155-4863-a956-d1ccafe86c7d {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} POST: /v1/things/ {'three': 'three', 'four': 'four', 'five': 'five'} GOT:Response: 201 Created Content-Type: application/json Openstack-Request-Id: req-a3371325-b5a5-4ad1-9bde-18118953089a {"three": "three", "four": "four", "five": "five"} POST: /v1/things/ {'three': 'three', 'four': 'fourrrr', 'five': 'five'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-025260dd-afcb-49f5-8d9d-78ebf3744aea {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} 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.80'}} 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.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} 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.80'}, 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. func1() migrated 10 of 15 objects. Running batches of 50 until migrations have been completed. Malformed option m1.key1value1 Data migrations have not completed. Please re-run. {'links': [{'id': 'port1', 'type': 'vif', 'ethernet_mac_address': '52:54:00:4f:ef:b7', 'vif_id': '96d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb8', 'mtu': 1500}], 'networks': [{'id': '906e685a-b964-4d58-9939-9cf3af197c67', 'network_id': 'a87cc70a-3e15-4acf-8205-9b711a3531b7', 'type': 'ipv6', 'link': 'port1', 'ip_address': 'fd00:203:0:113::2', 'netmask': 'ffff:ffff:ffff:ffff::', 'routes': [{'network': '::0', 'netmask': '::0', 'gateway': 'fd00:203:0:113::1'}]}]} {'deployment_ari_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk', 'pxe_append_params': 'test_param ipa-global-request-id=req-57af3997-1fdc-4396-859d-c56e169429f7', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '192.168.240.234', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} {'deploy_kernel': ('deploy_kernel', '/tmp/tmp2jdx48u1/tmpkzvc952p/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmp2jdx48u1/tmpkzvc952p/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [60.143355s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.129401s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.059309s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.089461s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.045218s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.050509s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.064919s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.060754s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.052825s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.047399s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.022896s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.038832s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.042115s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.035042s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.085643s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.040890s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.039823s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.042728s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.047057s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.040497s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.045504s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.035544s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.048380s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.039725s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.040112s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok_ipmi [0.041905s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_redfish [0.038723s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [0.109850s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [0.106984s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.044126s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.098274s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.056817s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.049231s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.057450s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.241244s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.067901s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.048339s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.032074s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.059397s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.063821s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.061231s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.045983s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.127003s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.563906s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.053969s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.093834s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.051739s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.058276s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.070775s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.042861s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.041451s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.075664s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.077182s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.070223s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.084197s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.054250s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.100473s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.046426s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.108584s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.065923s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.054246s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.082899s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.111528s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.097398s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.072638s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.057167s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.084482s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.040187s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.106881s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.059665s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.102559s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.031911s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.048939s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.030303s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.057283s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.038718s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.036632s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.041450s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.042941s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.019513s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.026704s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.027962s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.027463s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.030587s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.056180s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.076191s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.045969s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [60.115908s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.051104s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.086724s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.102413s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.046836s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.083992s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.110756s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.096822s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.076439s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.070384s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.049577s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.054282s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.151225s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.064586s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.048700s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.080779s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.067000s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.054718s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.120554s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.037121s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.033880s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.065660s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.040370s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.024166s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.020016s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.043855s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.036026s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.055595s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.033933s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.128815s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.052969s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.049792s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.033454s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.123586s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.024939s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [0.032456s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.029874s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.084330s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.034390s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.093778s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.063386s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.104618s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.179460s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.173231s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.130568s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.039224s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.076547s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.095369s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.030036s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.046376s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.048685s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.155319s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.059679s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.070534s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.028584s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.056489s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.051567s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.046770s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.037256s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.022433s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.054973s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.033679s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.038012s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.069313s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.034405s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.040964s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.039788s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.116973s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.057991s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.049645s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.105555s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.038634s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.044663s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.064333s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios_ipmi [0.169737s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [0.156725s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.059281s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.057273s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.038393s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.038107s] ... 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.041892s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.442876s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.028645s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.032281s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.050116s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.058794s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.079351s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.053414s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.062658s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.075744s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.040788s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.100563s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.031600s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.041620s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.038746s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.107117s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.047310s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.022477s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.021566s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.095672s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.030406s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.041494s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.138874s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.111540s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.078379s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.110081s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.052251s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.099516s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.076679s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.052731s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.045609s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.057067s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.059751s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.151627s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.161388s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.131699s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.165171s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.160556s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.049017s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.145677s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.041090s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.071359s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.083108s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.064865s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.101945s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.075461s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.085430s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.060939s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.067517s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.123269s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.079267s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.080023s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.067575s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.050522s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.052125s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.047718s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.061841s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.058913s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.055150s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.061592s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.064441s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.049305s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.039586s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.031251s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.046965s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.055413s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.033859s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.049344s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.067637s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.049077s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.046176s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.093196s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.059764s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.074944s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.020202s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.055187s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.021666s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.020993s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.022967s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.029423s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.099933s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.036011s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.049754s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.103157s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.040576s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.034706s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.029639s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.094046s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.055206s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.073609s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.039561s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.039833s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.041658s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.097177s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.110181s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.142258s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.093019s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.130001s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.094112s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.152027s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.537819s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.104697s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.102649s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.048384s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.048135s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.113012s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.131112s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.042307s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.039908s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.178619s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.136414s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.144165s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.170746s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.107712s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.052512s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.167430s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.364009s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.073878s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.113110s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.061565s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.060946s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.037014s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.133802s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.039997s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.034105s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.052706s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.099918s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.048418s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.094386s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.154497s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.060450s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.102963s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.167920s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.099709s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.132919s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.065990s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.071855s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.062999s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.052182s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.084180s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.058119s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.045966s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.084963s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.078452s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.069445s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.082081s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.048140s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.083785s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.060356s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.064202s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.062188s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.073396s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.214459s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.072807s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.080362s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.103198s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.065849s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.079668s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.122015s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.043825s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.055718s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.041440s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.068935s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.073672s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.035974s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.021740s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.058881s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.031848s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.031218s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.054733s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.050106s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.054068s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.092698s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.051815s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.038610s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.093458s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.039612s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.078491s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.085096s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.067653s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.091562s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.052582s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.077274s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.046038s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.037307s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.098174s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.045759s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.030421s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.042118s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.117911s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.036737s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.035550s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.027351s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.025840s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.116161s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.074447s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.141212s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.312195s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.110621s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.044422s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.100839s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.162467s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.174791s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.170879s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.091106s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.068099s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.079603s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.114566s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.082080s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.094978s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.073261s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.066389s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.070879s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.066501s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.034549s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.020375s] ... ok /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.067114s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.026047s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.047858s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.057321s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.017536s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.032980s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.024688s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.079100s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.050179s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.020267s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.019024s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.107080s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.038598s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.029229s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.060586s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.053219s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.041487s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.047743s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.075699s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.089353s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.094643s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.048438s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.051633s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.081735s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.033471s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.022611s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.050113s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.048829s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.052304s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.047418s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.045030s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.020661s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.023484s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.021575s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.029785s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.023190s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.035381s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.035421s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.034138s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.037677s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.041503s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.050349s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.066533s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.080369s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.100008s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.844869s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.051179s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.108487s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.044416s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.106693s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.100294s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.023125s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.050590s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.028519s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.040602s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.216466s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.062597s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.107928s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.035906s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.169293s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.053502s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.051487s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.062983s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.089451s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.049748s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.018162s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.046567s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.017191s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.044442s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.030923s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.099989s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.027136s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.051669s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.092078s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.053951s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.057238s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.053855s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.043623s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.039458s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.100583s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.097000s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.108080s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.102887s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.071875s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.089686s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.165723s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.017112s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.036856s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.013934s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.024842s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.045989s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.016733s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.025536s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.018445s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.056548s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.014737s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.022930s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.053192s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.044916s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_checked [0.105430s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.048409s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect_not_path [0.057748s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.084939s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.088383s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.056544s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.347189s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.079429s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.108621s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.057938s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.064989s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.420553s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.064951s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.111771s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.066516s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.143446s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.116834s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.095463s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.128641s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.044140s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.089370s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.061908s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.043435s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.097512s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_lenovo [0.049888s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.032875s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.059453s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.071436s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.081959s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.060136s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.054745s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot [0.131167s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_not_safe_image [0.049887s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.056042s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.052020s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.035328s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.076991s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.066257s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.088294s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.062132s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.050127s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.048992s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.032444s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.058011s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.066619s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.035308s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.029899s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.070106s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.041038s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.060239s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.055036s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.051709s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link_no_restorecon [0.055281s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.033910s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.077582s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.025416s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.039761s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.125613s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.092459s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.032517s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.114176s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.083186s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.089066s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.044967s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.155230s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.047048s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.055776s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.044337s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.179098s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.062009s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.041117s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.064657s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.076482s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.130031s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.092193s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.049491s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.028900s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.148696s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.064957s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.025727s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.083473s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.049530s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.034411s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.082372s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.055250s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.052594s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.130898s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.063656s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.072130s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.098427s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.076886s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.096179s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.054654s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.066106s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.040978s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.015574s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.075642s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.020057s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.058906s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.090249s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.042867s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.021707s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.036788s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.039733s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.055241s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.033123s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.034514s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.042762s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.019827s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.019959s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.063647s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.022467s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.019241s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.049960s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.059914s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.058863s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.045575s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.052858s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.020346s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.040454s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.035224s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.044464s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.063154s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.022046s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.047484s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.047796s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.037489s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.053970s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.049265s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.058361s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.033071s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.036231s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.039063s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.024569s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.062437s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.047766s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.031648s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.034444s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.039379s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.055664s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.053299s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.031592s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.081775s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.030245s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.057390s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.064774s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.071049s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.047198s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.034512s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.063131s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.044235s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.038963s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.059280s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.086696s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.045818s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.064789s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.065249s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.047558s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.053898s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.031317s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.046954s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.035168s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.020545s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.035124s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.036284s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.036872s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.032884s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.024359s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.033921s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.042448s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.038873s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.044752s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.023024s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.041860s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.020503s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.035570s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.046844s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.099488s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.078393s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.029778s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.039799s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.025726s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.035541s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.036708s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.033247s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.087402s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.019056s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.037043s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.017909s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.021623s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.014072s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.015571s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.025159s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.025434s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.046411s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.070481s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image_checked [0.127311s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.065760s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.047935s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.050983s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.181796s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.072723s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.103259s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_checked [0.236358s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.145854s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.136346s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.116758s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.048500s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.069171s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_part_img_checked [0.049299s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.047094s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.041875s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.053738s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.093319s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.043743s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.046657s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.035481s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.106667s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.061293s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.070354s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.110535s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.125635s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.158098s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.057523s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.046619s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.094673s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_image_via_http_verified [0.063637s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.037523s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.113125s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.046256s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.058728s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.019135s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.020766s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.022876s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.021082s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.037281s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.071263s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.019142s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.309349s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.036073s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.082393s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.084667s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.117276s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.054842s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.375891s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.058012s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.018649s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.045292s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.035860s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.039957s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.017708s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.027857s] ... 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.027495s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.119609s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.013723s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.055515s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.047963s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip_node_override [0.134845s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.053713s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.096797s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.069683s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.054933s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.086552s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.066524s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.059362s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.036534s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.102276s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.049284s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.037601s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.070775s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.027761s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.061243s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.098030s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_with_node_external_http_url [0.052569s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.036847s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.067977s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.055099s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.081275s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.035856s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.060900s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.032684s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.057436s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.044374s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.040681s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.030361s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.106594s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.052144s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.030024s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.033916s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.096222s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.091797s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.037340s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.125486s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.045410s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.039956s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.104746s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.063601s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.085730s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.074219s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.059522s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.103945s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.030112s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.049993s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.060658s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.030626s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.033288s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.059040s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.109946s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.037500s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.053405s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.083413s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_connection_problem [0.643197s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.062859s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.060052s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.030729s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.046396s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.079510s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.084169s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.061602s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.045059s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.024527s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.029090s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.022947s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.021157s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.025791s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.044999s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.038373s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.029215s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.035823s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.065088s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.036325s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.075319s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.074679s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.021384s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.040681s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.045649s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.044239s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.036866s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.036476s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.041818s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.045295s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.029142s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.015858s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.015572s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [1.351537s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.015244s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.021176s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.017747s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.020973s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.032410s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.073304s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.028041s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.068377s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.070075s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.035571s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.015488s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.020393s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.066690s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.019593s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.040916s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.025693s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.017130s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.060559s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.084447s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.067115s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.080036s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.015169s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.012065s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.024687s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.022815s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.079054s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.014105s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.022194s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.013463s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.042739s] ... 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_default_interfaces [0.030945s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.030012s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.044389s] ... 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_management_and_power [0.085301s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.054347s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.032812s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.044610s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.037952s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.032131s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.079893s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.048746s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.035711s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.074067s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.032883s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.063417s] ... 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_raid [0.542067s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.052476s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.058320s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.046578s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.036910s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.069929s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.044246s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.049067s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.037629s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.024963s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.050423s] ... ok {0} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.044962s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.055730s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.082055s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.069544s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.093727s] ... ok {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.050086s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.024785s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.049476s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.027816s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.041411s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.046257s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.026624s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.066537s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.018368s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.035679s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.042627s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.027637s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.027477s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.041557s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.023297s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.019583s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.019902s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.110833s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.018268s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.023991s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.022258s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.060610s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.024385s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.024670s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.023428s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.027214s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.112188s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.063473s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.032575s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.089981s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.017951s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.029955s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.052757s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.026068s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.038201s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.018471s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.089711s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.023573s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.027809s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.034657s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.013991s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.024470s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.013186s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.030840s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.064590s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.043058s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.086551s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.015558s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.030551s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.024133s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.045494s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.060466s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.038166s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.049826s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_active [0.101524s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.039456s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.031934s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.034917s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.111060s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.036278s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.035935s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.029619s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.098580s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.034076s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.030438s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.062417s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.133438s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.060594s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.049135s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.098693s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.039586s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.036023s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.075415s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.024530s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.018732s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.031893s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.017984s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.017489s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.060070s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.039594s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.045185s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.031877s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.019317s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.064014s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.060631s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.027608s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.021148s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.029124s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.028987s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.150379s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.043036s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.031477s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.021515s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.025838s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.107863s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.020987s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.017944s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.049484s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.023503s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.046913s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.040803s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.101224s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.051291s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.023104s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.041988s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.114925s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.029673s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.028424s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.051071s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.022117s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.127380s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.032450s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.024381s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.042846s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.017630s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.020711s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.016222s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.020158s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.191376s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.030799s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.041462s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.018244s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.014820s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.015249s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.109359s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.033926s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.067869s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.108802s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.076329s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.071815s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.048358s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.063909s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.041045s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.030750s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.084869s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.062619s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.038282s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.084854s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.018097s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.038683s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.065312s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.066387s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.045416s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.017230s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.057945s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.027121s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.058015s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.024143s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.017798s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.026511s] ... ok {0} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.025067s] ... ok 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-e70defec-2135-4c9e-89b6-4cee8114c16c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-e70defec-2135-4c9e-89b6-4cee8114c16c X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 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-b1dc6d6a-2455-4738-9a9a-b6a9e1f7caad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "fd6510ee-c123-4579-be57-17ec67cad556", "created_at": "2024-09-19T19:58:46.263477+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fd6510ee-c123-4579-be57-17ec67cad556", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1dc6d6a-2455-4738-9a9a-b6a9e1f7caad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "fd6510ee-c123-4579-be57-17ec67cad556", "created_at": "2024-09-19T19:58:46.263477+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fd6510ee-c123-4579-be57-17ec67cad556", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fef9f759-8472-4853-a0b6-c2def8c5a98e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fef9f759-8472-4853-a0b6-c2def8c5a98e {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26cc50bf-cd06-4119-8c14-23600c92b6d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "fef9f759-8472-4853-a0b6-c2def8c5a98e", "created_at": "2024-09-19T19:58:46.392716+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/fef9f759-8472-4853-a0b6-c2def8c5a98e", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26cc50bf-cd06-4119-8c14-23600c92b6d5 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "fef9f759-8472-4853-a0b6-c2def8c5a98e", "created_at": "2024-09-19T19:58:46.392716+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/fef9f759-8472-4853-a0b6-c2def8c5a98e", "rel": "self"}]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7e4c6414-855d-4958-9b68-453d65ed2ef4 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-defcd45a-8463-4810-9db1-5573f639c1cd {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-630f671b-f2bd-432c-9afe-d437c2334ff6 {"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-bb378d7c-b0f0-4fa0-8f53-9eeb99f18115 {"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-233d6e73-2cb8-4420-8629-e0d98ec2da7b {"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-21.1.3.dev5/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-21.1.3.dev5/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\"}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-926bcd4a-6d84-452a-9763-d21dd93ea73d {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"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://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} 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.80'}} {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.359035s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.022561s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.019338s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.021988s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.041544s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.030800s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.016679s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.015517s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.014488s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.016150s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.043160s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.060668s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.092496s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.042276s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.030616s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.030176s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.034374s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.075992s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.065902s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.059430s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.071276s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.069317s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.071715s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.123117s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.043941s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.052341s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.044195s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.101312s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.104907s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.086043s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.049928s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.069774s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.077698s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.043198s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.058275s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.017548s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.017922s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.025590s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.039833s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.016936s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.012873s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.012424s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.015499s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.025490s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.017094s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.030937s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.037307s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.014770s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.018976s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.056156s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.091103s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.053025s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.047067s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.049211s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.020007s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.031908s] ... ok {1} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.038122s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.029882s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.026439s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.041989s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.042301s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.031735s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.015805s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.018755s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.033392s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.071698s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.042607s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.053963s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.042433s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.021337s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.021120s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.058204s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.019787s] ... ok {1} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.028390s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.037170s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.047861s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.034158s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.031735s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.055360s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.033068s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.032935s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.018042s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.017975s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.019107s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.032838s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.032368s] ... ok {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.047859s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.026210s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.034730s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.020987s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.019792s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.040286s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.037284s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.025337s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.050367s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.032302s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.027731s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.016745s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.015007s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.026742s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.017050s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.017587s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.034683s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.016404s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.014887s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.014758s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.034713s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.042192s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.026854s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.025719s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.018176s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.018385s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.015944s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.016731s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.016841s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.016436s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.023252s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.020950s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.028405s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.037810s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.026754s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.046517s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.016507s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.061640s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.042270s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.017734s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.015703s] ... ok {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.019562s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.012784s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.015250s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.029731s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.015202s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.013836s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.029800s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.027837s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.020065s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.018646s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.015326s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.012137s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.011997s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.011357s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.011620s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.014542s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.013580s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.020761s] ... ok {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.082460s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.016149s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.035724s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.049371s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.061418s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.044232s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.015957s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.022592s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.032946s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.048692s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.028730s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.028786s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.055068s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.059523s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.045090s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.031694s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d9519b9-75d3-4d15-90fa-805d7145ac38 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.556689+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-2099656d-1b6f-4937-a9e2-8736ceaa9cad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.627761+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-2099656d-1b6f-4937-a9e2-8736ceaa9cad X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-19T19:58:49.627761+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-a2d3feea-52ac-4932-a7df-d56f96d5e0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-a2d3feea-52ac-4932-a7df-d56f96d5e0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"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-9ac0e896-3d0b-4ab4-a953-421ec4b21fcb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "e2af67b8-6db7-4744-bcc6-c8647a4dc559", "created_at": "2024-09-19T19:58:49.748739+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e2af67b8-6db7-4744-bcc6-c8647a4dc559", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ac0e896-3d0b-4ab4-a953-421ec4b21fcb X-Openstack-Ironic-Api-Maximum-Version: 1.80 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"history": [{"uuid": "e2af67b8-6db7-4744-bcc6-c8647a4dc559", "created_at": "2024-09-19T19:58:49.748739+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e2af67b8-6db7-4744-bcc6-c8647a4dc559", "rel": "self"}]}]} GET: /v1/things/no_content {} GOT:Response: 204 No Content Openstack-Request-Id: req-09612d09-b57e-45c9-8340-5f0c4b268c9d GET: /v1/chassis {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Basic realm="Baremetal API" {"error":{"message":"Authorization required","code":401}} 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.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} DELETE: /v1/ GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-157c2a72-f5c9-4d68-8cb3-6a09525ad466 X-Openstack-Ironic-Api-Maximum-Version: 1.80 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.80'}, '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. Running batches of 50 until migrations have been completed. Data migrations have completed. ====== Totals ====== Ran: 8853 tests in 239.7806 sec. - Passed: 8805 - Skipped: 48 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 826.4145 sec. ============== Worker Balance ============== - Worker 0 (2214 tests) => 0:03:52.729193 - Worker 1 (2213 tests) => 0:03:59.780588 - Worker 2 (2213 tests) => 0:02:48.201523 - Worker 3 (2213 tests) => 0:03:12.667256 + RPM_EC=0 ++ jobs -p + exit 0 Processing files: openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.noarch Provides: openstack-ironic = 1:21.1.3-0.20240919195312.676d4b2.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-common-21.1.3-0.20240919195312.676d4b2.el9.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.7tlRhC + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/doc/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr etc/ironic/policy.yaml.sample /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/doc/openstack-ironic-common + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.9x64Ib + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-common + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-common + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(openstack-ironic-common) = 1:21.1.3-0.20240919195312.676d4b2.el9 openstack-ironic-common = 1:21.1.3-0.20240919195312.676d4b2.el9 python3.9dist(ironic) = 21.1.3~~dev5 python3dist(ironic) = 21.1.3~~dev5 Requires(interp): /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh shadow-utils Requires: /usr/bin/python3 /usr/bin/sh python(abi) = 3.9 python3.9dist(setuptools) Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pysnmp >= 4.3.0 python3-scciclient >= 0.8.0 Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 Processing files: openstack-ironic-api-21.1.3-0.20240919195312.676d4b2.el9.noarch Provides: openstack-ironic-api = 1:21.1.3-0.20240919195312.676d4b2.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-conductor-21.1.3-0.20240919195312.676d4b2.el9.noarch Provides: openstack-ironic-conductor = 1:21.1.3-0.20240919195312.676d4b2.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-dnsmasq-tftp-server-21.1.3-0.20240919195312.676d4b2.el9.noarch Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.dCYbC5 + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(openstack-ironic-dnsmasq-tftp-server) = 1:21.1.3-0.20240919195312.676d4b2.el9 openstack-ironic-dnsmasq-tftp-server = 1:21.1.3-0.20240919195312.676d4b2.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Processing files: python3-ironic-tests-21.1.3-0.20240919195312.676d4b2.el9.noarch Provides: python-ironic-tests = 1:21.1.3-0.20240919195312.676d4b2.el9 python3-ironic-tests = 1:21.1.3-0.20240919195312.676d4b2.el9 python3.9-ironic-tests = 1:21.1.3-0.20240919195312.676d4b2.el9 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.9 Obsoletes: python-ironic-tests < 1:21.1.3-0.20240919195312.676d4b2.el9 python39-ironic-tests < 1:21.1.3-0.20240919195312.676d4b2.el9 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-common-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Wrote: /builddir/build/RPMS/python3-ironic-tests-21.1.3-0.20240919195312.676d4b2.el9.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.c64yxu + umask 022 + cd /builddir/build/BUILD + cd ironic-21.1.3.dev5 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-21.1.3-0.20240919195312.676d4b2.el9.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0