Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-wallaby-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=1029gid=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-17.1.1-0.20240306093343.663a97f.el9.src.rpm Child return code was: 0 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-wallaby-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=1029gid=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-17.1.1-0.20240306093343.663a97f.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-wallaby-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=1029gid=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.t4Tzqb + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-17.1.1.dev16 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-17.1.1.dev16-0.20240306093343.663a97f.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-17.1.1.dev16 + /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.9mXurS + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + 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' /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'python-requires' will not be supported in future versions. Please use the underscore name 'python_requires' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'python-requires' will not be supported in future versions. Please use the underscore name 'python_requires' instead warnings.warn( running build running build_py creating build creating build/lib creating build/lib/ironic creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests 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/drivers creating build/lib/ironic/drivers/modules 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/drivers/modules/irmc copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/packaging_version.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc creating build/lib/ironic/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/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/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/api copying ironic/api/wsgi.py -> build/lib/ironic/api copying ironic/api/method.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/functions.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api 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/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/vendor.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/raid.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish creating build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac creating build/lib/ironic/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.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/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/tests/unit/api 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_deploy_templates.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_bios_settings.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_allocations.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/base.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/api/controllers copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers creating build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_collection.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 creating build/lib/ironic/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/iscsi.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/ibmc.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/anaconda.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/tests/unit/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_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 copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop_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_iscsi_deploy.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 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/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/drivers/modules/snmp.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/iscsi_deploy.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/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp creating build/lib/ironic/tests/unit/drivers/modules/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/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/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/keystone.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/args.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common 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/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/cmd copying ironic/cmd/status.py -> build/lib/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd copying ironic/cmd/conductor.py -> build/lib/ironic/cmd copying ironic/cmd/api.py -> build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd 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 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/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.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/deployment.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects copying ironic/objects/bios.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/allocation.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects creating build/lib/ironic/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/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/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/deployments.py -> build/lib/ironic/conductor copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor creating build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/utils.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/common.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/boot.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/collection.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp creating build/lib/ironic/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 copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/drivers/modules/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 copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt creating build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/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/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/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/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions creating build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins creating build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library creating build/lib/ironic/drivers/modules/ansible/playbooks/roles creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/tests/unit/api/test_acl_basic.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_legacy.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/drivers/modules/agent_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.TgftyE + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 + cd ironic-17.1.1.dev16 + 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-17.1.1-0.20240306093343.663a97f.el9.x86_64 /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'python-requires' will not be supported in future versions. Please use the underscore name 'python_requires' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead warnings.warn( /usr/lib/python3.9/site-packages/setuptools/dist.py:697: UserWarning: Usage of dash-separated 'python-requires' will not be supported in future versions. Please use the underscore name 'python_requires' instead warnings.warn( running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9 creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/packaging_version.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/none.py to none.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/iscsi.py to iscsi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/iscsi_deploy.py to iscsi_deploy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/packaging_version.py to packaging_version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/version.py to version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py to test_iscsi_deploy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_vendor.py to test_vendor.cpython-39.pyc writing byte-compilation script '/tmp/tmplm9wia_b.py' /usr/bin/python3 /tmp/tmplm9wia_b.py removing /tmp/tmplm9wia_b.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic-17.1.1.dev16-py3.9.egg-info running install_scripts Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/bin/__pycache__ + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf + mv /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 17.1.1-0.20240306093343.663a97f.el9 --unique-debug-suffix -17.1.1-0.20240306093343.663a97f.el9.x86_64 --unique-debug-src-base openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1.dev16 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-17.1.1-0.20240306093343.663a97f.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.SMJqeE + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + PYTHON=/usr/bin/python3 + stestr run 2024-03-06 09:35:10.941 3201258 INFO alembic.runtime.migration [req-98ac359c-ad30-4a60-af05-4f01d4e03bbe - - - - -] Context impl SQLiteImpl. 2024-03-06 09:35:10.941 3201258 INFO alembic.runtime.migration [req-98ac359c-ad30-4a60-af05-4f01d4e03bbe - - - - -] 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 -> c0455649680c {2} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.334157s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.021728s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.018235s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.045429s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.079320s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.033624s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.041918s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.043228s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.039643s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.070196s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.035236s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.146926s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.394182s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.067002s] ... ok DELETE: /v1/allocations/08d9d50f-4a36-4669-ae6f-b0e90e083270 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DELETE: /v1/allocations/db28db58-821a-4c73-b61e-40da1533a215 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-275bb13d-a81f-467f-8b39-c4779656a0df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/e4af4cb8-a229-483f-b51b-4f2999d96fc6 {} GOT:{'uuid': 'e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'created_at': '2024-03-06T09:35:11.274268+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/e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'rel': 'self'}, {'href': 'http://localhost/allocations/e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/e4af4cb8-a229-483f-b51b-4f2999d96fc6 {} GOT:{'uuid': 'e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'created_at': '2024-03-06T09:35:11.274268+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/e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'rel': 'self'}, {'href': 'http://localhost/allocations/e4af4cb8-a229-483f-b51b-4f2999d96fc6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/node/a1670c29-36d1-4357-81b0-739c8a476985/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': '80d91277-e502-4eb4-af47-6f12ec56c5f1', 'created_at': '2024-03-06T09:35:11.364342+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/80d91277-e502-4eb4-af47-6f12ec56c5f1', 'rel': 'self'}, {'href': 'http://localhost/allocations/80d91277-e502-4eb4-af47-6f12ec56c5f1', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '47f6d6c1-4b5b-4f33-a097-37c44cf4c093', 'created_at': '2024-03-06T09:35:11.365318+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/47f6d6c1-4b5b-4f33-a097-37c44cf4c093', 'rel': 'self'}, {'href': 'http://localhost/allocations/47f6d6c1-4b5b-4f33-a097-37c44cf4c093', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '5f5a6229-c7c5-4342-b05b-56dbcbcc2fa1', 'created_at': '2024-03-06T09:35:11.366235+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/5f5a6229-c7c5-4342-b05b-56dbcbcc2fa1', 'rel': 'self'}, {'href': 'http://localhost/allocations/5f5a6229-c7c5-4342-b05b-56dbcbcc2fa1', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=5f5a6229-c7c5-4342-b05b-56dbcbcc2fa1'} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'e211e44c-84db-4f75-9688-e6a48f33f81a', 'created_at': '2024-03-06T09:35:11.431528+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/e211e44c-84db-4f75-9688-e6a48f33f81a', 'rel': 'self'}, {'href': 'http://localhost/allocations/e211e44c-84db-4f75-9688-e6a48f33f81a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '54481936-c38f-4ca5-a515-7b7cb524ef0a', 'created_at': '2024-03-06T09:35:11.432462+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/54481936-c38f-4ca5-a515-7b7cb524ef0a', 'rel': 'self'}, {'href': 'http://localhost/allocations/54481936-c38f-4ca5-a515-7b7cb524ef0a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '9ee08b5d-1cb5-427e-9370-0aa84382221e', 'created_at': '2024-03-06T09:35:11.433385+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/9ee08b5d-1cb5-427e-9370-0aa84382221e', 'rel': 'self'}, {'href': 'http://localhost/allocations/9ee08b5d-1cb5-427e-9370-0aa84382221e', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=9ee08b5d-1cb5-427e-9370-0aa84382221e'} GET: /v1/allocations {} GOT:{'allocations': []} GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76585783-ae53-4173-96ac-af0654bf5b00 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/a4564d0e-40e6-4dcc-8374-463006179912', 'rel': 'self'}, {'href': 'http://localhost/allocations/a4564d0e-40e6-4dcc-8374-463006179912', 'rel': 'bookmark'}]} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '121a413e-d0da-4074-9551-ba8340800553', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/121a413e-d0da-4074-9551-ba8340800553', 'rel': 'self'}, {'href': 'http://localhost/allocations/121a413e-d0da-4074-9551-ba8340800553', 'rel': 'bookmark'}]}, {'uuid': '4478543d-0797-488e-8b3a-1dc5146e1a4b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/4478543d-0797-488e-8b3a-1dc5146e1a4b', 'rel': 'self'}, {'href': 'http://localhost/allocations/4478543d-0797-488e-8b3a-1dc5146e1a4b', 'rel': 'bookmark'}]}, {'uuid': 'c15bf691-17c5-45a7-a64d-ac04d9a92317', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/c15bf691-17c5-45a7-a64d-ac04d9a92317', 'rel': 'self'}, {'href': 'http://localhost/allocations/c15bf691-17c5-45a7-a64d-ac04d9a92317', 'rel': 'bookmark'}]}]} GET: /v1/allocations {} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.086869s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.068105s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.136473s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.051235s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.097374s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.047754s] ... ok GOT:{'allocations': [{'uuid': 'f5271186-645e-4e15-9381-005776d72fb6', 'created_at': '2024-03-06T09:35:12.126282+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/f5271186-645e-4e15-9381-005776d72fb6', 'rel': 'self'}, {'href': 'http://localhost/allocations/f5271186-645e-4e15-9381-005776d72fb6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0d47c704-092a-4ab3-81fb-51b3fba0201d', 'created_at': '2024-03-06T09:35:12.127291+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/0d47c704-092a-4ab3-81fb-51b3fba0201d', 'rel': 'self'}, {'href': 'http://localhost/allocations/0d47c704-092a-4ab3-81fb-51b3fba0201d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '11b15aa3-f3c0-4202-b747-0a2e16c2b911', 'created_at': '2024-03-06T09:35:12.128323+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/11b15aa3-f3c0-4202-b747-0a2e16c2b911', 'rel': 'self'}, {'href': 'http://localhost/allocations/11b15aa3-f3c0-4202-b747-0a2e16c2b911', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '03a23944-5db2-475e-ac7d-cdb5d262f4bb', 'created_at': '2024-03-06T09:35:12.129259+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/03a23944-5db2-475e-ac7d-cdb5d262f4bb', 'rel': 'self'}, {'href': 'http://localhost/allocations/03a23944-5db2-475e-ac7d-cdb5d262f4bb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a742f9f3-cd19-4d83-8171-42b2e98a0c94', 'created_at': '2024-03-06T09:35:12.130230+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/a742f9f3-cd19-4d83-8171-42b2e98a0c94', 'rel': 'self'}, {'href': 'http://localhost/allocations/a742f9f3-cd19-4d83-8171-42b2e98a0c94', '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-4f3160a2-e594-49c7-b632-7606f6a69e58 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f0f49080-bb56-41f4-936f-4c9a4b1544d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-32db6020-2cd2-44bc-8791-8a8342a396a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-82c1889e-6453-4471-89f4-e74ffe100887 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/allocations/51f334e1-85ed-4508-affd-7e9f2087bc7c [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-724f6fad-d5a1-4a4b-bf23-93abb1d20480 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b9685cd7-a781-4bb8-8bfa-f11ca5d89df0', 'owner': None, 'node': '1f116df3-54ad-4f56-83d4-21ac577b1ee8'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71776aba-500f-4e2c-b261-87f9a130405c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1f116df3-54ad-4f56-83d4-21ac577b1ee8 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/8deb38ed-3f5a-40d0-b5e7-d3b809c20418 Openstack-Request-Id: req-c6d7d48a-4b13-42b5-b9a8-af3fdc9ce172 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8deb38ed-3f5a-40d0-b5e7-d3b809c20418", "created_at": "2024-03-06T09:35:12.500760+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/8deb38ed-3f5a-40d0-b5e7-d3b809c20418", "rel": "self"}, {"href": "http://localhost/allocations/8deb38ed-3f5a-40d0-b5e7-d3b809c20418", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/8deb38ed-3f5a-40d0-b5e7-d3b809c20418 {} GOT:{'uuid': '8deb38ed-3f5a-40d0-b5e7-d3b809c20418', 'created_at': '2024-03-06T09:35:12.500760+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/8deb38ed-3f5a-40d0-b5e7-d3b809c20418', 'rel': 'self'}, {'href': 'http://localhost/allocations/8deb38ed-3f5a-40d0-b5e7-d3b809c20418', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '0c543afb-a5a1-4c8e-8f34-787a55f97c9d', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d0ffd78-05ca-4fc4-96aa-1c51b518b638 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.207814s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.050748s] ... ok 2024-03-06 09:35:12.895 3201256 INFO alembic.runtime.migration [req-37ae834b-3ca8-4763-83ad-d29db7610762 - - - - -] Context impl SQLiteImpl. 2024-03-06 09:35:12.895 3201256 INFO alembic.runtime.migration [req-37ae834b-3ca8-4763-83ad-d29db7610762 - - - - -] 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 -> c0455649680c {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.109004s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.407564s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.018359s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.041255s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.035641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.031069s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.024148s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.036397s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.114267s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.197663s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.278604s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.166861s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.200989s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.036369s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.039810s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.036085s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.127048s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4a3d3edf-241a-43ba-b177-ca3fdb0874a3', 'owner': None} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9444b71a-76f2-47a6-9e1d-82e6e0ce546a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?fields=extra,uuid {} GOT:{'chassis': [{'uuid': '930025a7-0696-46f7-8bbd-6062f918bad2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/930025a7-0696-46f7-8bbd-6062f918bad2', 'rel': 'self'}, {'href': 'http://localhost/chassis/930025a7-0696-46f7-8bbd-6062f918bad2', 'rel': 'bookmark'}]}, {'uuid': 'b99d38fa-2f78-4d91-b96b-aa2f2a545438', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b99d38fa-2f78-4d91-b96b-aa2f2a545438', 'rel': 'self'}, {'href': 'http://localhost/chassis/b99d38fa-2f78-4d91-b96b-aa2f2a545438', 'rel': 'bookmark'}]}, {'uuid': '7ae9673a-bb24-48a5-a78b-941e2a96ec69', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/7ae9673a-bb24-48a5-a78b-941e2a96ec69', 'rel': 'self'}, {'href': 'http://localhost/chassis/7ae9673a-bb24-48a5-a78b-941e2a96ec69', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=7ae9673a-bb24-48a5-a78b-941e2a96ec69'} GET: /v1/chassis?detail=True {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:12.997457+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60fee199-81a4-43be-aabc-f00a8cfdf5bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:13.136447+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?sort_key=uuid {} GOT:{'chassis': [{'uuid': '089c82b9-adbd-4ac7-9dbb-e3b03843f603', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/089c82b9-adbd-4ac7-9dbb-e3b03843f603', 'rel': 'self'}, {'href': 'http://localhost/chassis/089c82b9-adbd-4ac7-9dbb-e3b03843f603', 'rel': 'bookmark'}]}, {'uuid': '329b1581-91ca-4cf5-ac94-908a41293bdd', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/329b1581-91ca-4cf5-ac94-908a41293bdd', 'rel': 'self'}, {'href': 'http://localhost/chassis/329b1581-91ca-4cf5-ac94-908a41293bdd', 'rel': 'bookmark'}]}, {'uuid': '9f412d88-ffad-48dd-a4b9-85d330133a75', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/9f412d88-ffad-48dd-a4b9-85d330133a75', 'rel': 'self'}, {'href': 'http://localhost/chassis/9f412d88-ffad-48dd-a4b9-85d330133a75', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d871657-5d38-467d-bd51-cd1da2af3af0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-2148e76f-cab3-48f5-a511-ca3ba9a43db8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/description', 'value': 'test', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0792f0ff-0e7a-49ea-9ebb-adeda12ff2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:13.572310+00:00", "updated_at": "2024-03-06T09:35:13.582683+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-d9f816b6-129e-47a9-98ec-494c842c48be X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/604d432a-6376-4763-98cf-44f12a741292 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-988d9630-05e5-4bd7-8d16-1370494fd5de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 604d432a-6376-4763-98cf-44f12a741292 could not be found.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.082230s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.026716s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.084917s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.089784s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.038189s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.030052s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.129024s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.037014s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.092430s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.039620s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.054633s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.028561s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.040875s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.171486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.124207s] ... ok 2024-03-06 09:35:14.289 3201257 INFO alembic.runtime.migration [req-93caefd7-020f-4695-9672-e8087b7de187 - - - - -] Context impl SQLiteImpl. 2024-03-06 09:35:14.290 3201257 INFO alembic.runtime.migration [req-93caefd7-020f-4695-9672-e8087b7de187 - - - - -] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.122385s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> c0455649680c {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.266332s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-d22ecf22-305d-486e-8c05-023eafde2480 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:13.709810+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-03-06T09:35:13.709810+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'foo': 123}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-09a7fd52-7f61-448c-ab27-1cc134ab5854 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '8198c78f-1cd0-4756-b78f-ae3287abec1b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/8198c78f-1cd0-4756-b78f-ae3287abec1b', 'rel': 'self'}, {'href': 'http://localhost/conductors/8198c78f-1cd0-4756-b78f-ae3287abec1b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '7a2ac889-b7db-47ee-b85e-de829f11cc94', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/7a2ac889-b7db-47ee-b85e-de829f11cc94', 'rel': 'self'}, {'href': 'http://localhost/conductors/7a2ac889-b7db-47ee-b85e-de829f11cc94', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'af272d83-4814-4f4e-9895-2988da1b548b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/af272d83-4814-4f4e-9895-2988da1b548b', 'rel': 'self'}, {'href': 'http://localhost/conductors/af272d83-4814-4f4e-9895-2988da1b548b', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=af272d83-4814-4f4e-9895-2988da1b548b'} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': 'a8550278-d928-4ff4-8ed4-8451f79897a0', 'links': [{'href': 'http://localhost/v1/conductors/a8550278-d928-4ff4-8ed4-8451f79897a0', 'rel': 'self'}, {'href': 'http://localhost/conductors/a8550278-d928-4ff4-8ed4-8451f79897a0', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '4ef63ff9-c7ae-4e5f-a83d-79101c758923', 'links': [{'href': 'http://localhost/v1/conductors/4ef63ff9-c7ae-4e5f-a83d-79101c758923', 'rel': 'self'}, {'href': 'http://localhost/conductors/4ef63ff9-c7ae-4e5f-a83d-79101c758923', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'c35ab9f5-4245-4433-b842-7c451c708edc', 'links': [{'href': 'http://localhost/v1/conductors/c35ab9f5-4245-4433-b842-7c451c708edc', 'rel': 'self'}, {'href': 'http://localhost/conductors/c35ab9f5-4245-4433-b842-7c451c708edc', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=c35ab9f5-4245-4433-b842-7c451c708edc'} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-03-06T09:35:13.922102+00:00', 'updated_at': '2024-03-06T09:35:13.921893+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-03-06T09:35:13.955255+00:00', 'updated_at': '2024-03-06T09:35:13.955052+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-03-06T09:35:13.955255+00:00', 'updated_at': '2024-03-06T09:35:13.955052+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-03-06T09:35:13.955255+00:00', 'updated_at': '2024-03-06T09:35:13.955052+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?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f09108ed-2771-414e-905f-8014d5fbab0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a52f19af-f656-4283-a9c3-67ee13937e7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3dd6807c-8e12-4881-a792-b9d85a834c03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-28c7196a-7539-4301-9b41-1c1a20ce3ef9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/deploy_templates/86d7bb6c-cabf-4f91-8c8d-d9ce5e71dba4.json GOT:Response: 204 No Content Openstack-Request-Id: req-99fd4bb6-999c-4d8c-a15d-4fa0eea70794 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'b5abaf4f-897b-4234-9adb-1982c805615c', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/b5abaf4f-897b-4234-9adb-1982c805615c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b5abaf4f-897b-4234-9adb-1982c805615c', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': 'b5abaf4f-897b-4234-9adb-1982c805615c', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/b5abaf4f-897b-4234-9adb-1982c805615c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b5abaf4f-897b-4234-9adb-1982c805615c', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?fields=name&limit=2 {} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.072609s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.042102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.075070s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.054421s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.045546s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.015877s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.038311s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.083766s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.033328s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.079949s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.081903s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.096358s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.040591s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.124000s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.051746s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.024500s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.109036s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.038538s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.059982s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.110577s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.053298s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.056574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.042768s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.037183s] ... ok GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/c549ea6e-a64e-4814-a889-051a2d36d6dd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c549ea6e-a64e-4814-a889-051a2d36d6dd', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/6c18adbe-9a7f-4b58-813c-a06884e23922', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6c18adbe-9a7f-4b58-813c-a06884e23922', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=6c18adbe-9a7f-4b58-813c-a06884e23922'} GET: /v1/deploy_templates/c4fdd8a6-344f-4f6a-b1be-b0dd4a342c10 {} GOT:{'uuid': 'c4fdd8a6-344f-4f6a-b1be-b0dd4a342c10', 'created_at': '2024-03-06T09:35:14.350176+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c4fdd8a6-344f-4f6a-b1be-b0dd4a342c10', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c4fdd8a6-344f-4f6a-b1be-b0dd4a342c10', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/c1cb0b05-675f-4c5e-a72b-2beb7dc87b70.json {} GOT:{'uuid': 'c1cb0b05-675f-4c5e-a72b-2beb7dc87b70', 'created_at': '2024-03-06T09:35:14.388987+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c1cb0b05-675f-4c5e-a72b-2beb7dc87b70', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c1cb0b05-675f-4c5e-a72b-2beb7dc87b70', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7 {} GOT:{'uuid': '9be8b856-89c3-4181-8a54-6ade46ef06e7', 'created_at': '2024-03-06T09:35:14.446701+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7 {} GOT:{'uuid': '9be8b856-89c3-4181-8a54-6ade46ef06e7', 'created_at': '2024-03-06T09:35:14.446701+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7 {} GOT:{'uuid': '9be8b856-89c3-4181-8a54-6ade46ef06e7', 'created_at': '2024-03-06T09:35:14.446701+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9be8b856-89c3-4181-8a54-6ade46ef06e7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '039395b3-eda0-494f-9221-a1f75daaf3cf', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/039395b3-eda0-494f-9221-a1f75daaf3cf', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/039395b3-eda0-494f-9221-a1f75daaf3cf', 'rel': 'bookmark'}]}, {'uuid': '26b7c761-add5-4930-abf1-215a81863dd3', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/26b7c761-add5-4930-abf1-215a81863dd3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/26b7c761-add5-4930-abf1-215a81863dd3', 'rel': 'bookmark'}]}, {'uuid': 'f47f680e-0a61-406b-917a-f66c59350ffc', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/f47f680e-0a61-406b-917a-f66c59350ffc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f47f680e-0a61-406b-917a-f66c59350ffc', 'rel': 'bookmark'}]}, {'uuid': 'a5e9656a-a595-4c3d-a63f-1df9d27d7c39', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/a5e9656a-a595-4c3d-a63f-1df9d27d7c39', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a5e9656a-a595-4c3d-a63f-1df9d27d7c39', 'rel': 'bookmark'}]}, {'uuid': 'a1d2bbf0-b799-40b4-b205-5d8c70f1d10e', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/a1d2bbf0-b799-40b4-b205-5d8c70f1d10e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a1d2bbf0-b799-40b4-b205-5d8c70f1d10e', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/c60a6036-00b8-4a02-9216-775a9e16ae15 {} GOT:{'uuid': 'c60a6036-00b8-4a02-9216-775a9e16ae15', 'created_at': '2024-03-06T09:35:14.553427+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c60a6036-00b8-4a02-9216-775a9e16ae15', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c60a6036-00b8-4a02-9216-775a9e16ae15', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} PATCH: /v1/deploy_templates/f3498475-728e-4866-a5e8-9f57d387a306 [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1bbcdeba-a2b4-4a1e-9057-ffed72867f42 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/ba8e5efa-e6f0-4afe-a578-5c808a1867d7 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0487f6f2-15d2-41b0-aa7b-60b40d970543 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/c6b9b752-f1b4-402a-bfe0-45be037bd1ac [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}]}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f55645f-06e2-482f-a7c0-fe0ddc192507 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/653e94c7-cd96-41b2-b823-24ce22b4d5f4 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-966f3c19-7f74-42a2-b96a-5795e3ad1b21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 653e94c7-cd96-41b2-b823-24ce22b4d5f4 already exists.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/04aa6544-4262-44ee-9de2-b11946a46ff6 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.031593s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.047699s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.049202s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.049450s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.275532s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.027345s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.038172s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.088984s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.096724s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.075486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.038711s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.116402s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.061694s] ... ok DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-67827f1f-cad8-4205-a324-121dd309dabf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/2766b970-d9ca-4af4-84c5-aa15b2417b3d/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-929edd5f-e2e9-4912-9b20-3c97dd67ef89 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 2766b970-d9ca-4af4-84c5-aa15b2417b3d was not found\", \"debuginfo\": null}"} 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\"}"} GET: /v1/allocations/ab13b3d0-add5-4b43-be54-6006c0bd9575 {} GOT:{'uuid': 'ab13b3d0-add5-4b43-be54-6006c0bd9575', 'created_at': '2024-03-06T09:35:13.929726+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/ab13b3d0-add5-4b43-be54-6006c0bd9575', 'rel': 'self'}, {'href': 'http://localhost/allocations/ab13b3d0-add5-4b43-be54-6006c0bd9575', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/node/eaa9bc02-52fa-4a9e-973c-822595113c26/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': '047ba0bc-148c-4b7d-becd-e4c54e66c435', 'created_at': '2024-03-06T09:35:14.131760+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/047ba0bc-148c-4b7d-becd-e4c54e66c435', 'rel': 'self'}, {'href': 'http://localhost/allocations/047ba0bc-148c-4b7d-becd-e4c54e66c435', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': 'f74911a0-b550-46c9-a795-ef4d510e36d1', 'created_at': '2024-03-06T09:35:14.314599+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/f74911a0-b550-46c9-a795-ef4d510e36d1', 'rel': 'self'}, {'href': 'http://localhost/allocations/f74911a0-b550-46c9-a795-ef4d510e36d1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/2403f974-78f3-4417-91d4-88a15b3b22cc?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-30bfa3d2-c4b7-4894-a269-ad2e7ba46f32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/allocations/6f684f13-0ab8-45fe-ab20-d416ba2da035 {} GOT:{'uuid': '6f684f13-0ab8-45fe-ab20-d416ba2da035', 'created_at': '2024-03-06T09:35:14.460409+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/6f684f13-0ab8-45fe-ab20-d416ba2da035', 'rel': 'self'}, {'href': 'http://localhost/allocations/6f684f13-0ab8-45fe-ab20-d416ba2da035', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/bfcd58a3-8844-46af-b202-0e9645519084?fields=owner {} GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/bfcd58a3-8844-46af-b202-0e9645519084', 'rel': 'self'}, {'href': 'http://localhost/allocations/bfcd58a3-8844-46af-b202-0e9645519084', 'rel': 'bookmark'}]} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': 'dbe286c2-ddfe-471e-9c4a-8bdb38ebcd76', 'created_at': '2024-03-06T09:35:14.683083+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/dbe286c2-ddfe-471e-9c4a-8bdb38ebcd76', 'rel': 'self'}, {'href': 'http://localhost/allocations/dbe286c2-ddfe-471e-9c4a-8bdb38ebcd76', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b416f8c6-96ee-4361-a98b-5bccae6add29', 'created_at': '2024-03-06T09:35:14.677606+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/b416f8c6-96ee-4361-a98b-5bccae6add29', 'rel': 'self'}, {'href': 'http://localhost/allocations/b416f8c6-96ee-4361-a98b-5bccae6add29', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '9bfee48d-155a-4504-96a7-620d9e098431', 'created_at': '2024-03-06T09:35:14.676599+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/9bfee48d-155a-4504-96a7-620d9e098431', 'rel': 'self'}, {'href': 'http://localhost/allocations/9bfee48d-155a-4504-96a7-620d9e098431', 'rel': 'bookmark'}], 'node_uuid': None}]} PATCH: /v1/allocations/0dce7115-ef8b-483c-8795-907e4e1b51bd [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd9faa01-f84e-4c8a-af0b-9baf736ea325 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "0dce7115-ef8b-483c-8795-907e4e1b51bd", "created_at": "2024-03-06T09:35:14.942986+00:00", "updated_at": "2024-03-06T09:35:14.961052+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/0dce7115-ef8b-483c-8795-907e4e1b51bd", "rel": "self"}, {"href": "http://localhost/allocations/0dce7115-ef8b-483c-8795-907e4e1b51bd", "rel": "bookmark"}], "node_uuid": null} PATCH: /v1/allocations/bab5c4f5-942d-475e-9139-4cadd4e762e7 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95f04558-c7c6-4f5c-a609-03d9c6fac63c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} PATCH: /v1/allocations/330800b8-00d1-4702-a335-e8a2ae04b74f [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.046928s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.030243s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.029163s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.054175s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.049659s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.024866s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.035184s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.031737s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.029141s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.036517s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.048340s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.037246s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.070058s] ... 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/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-e25f90e3-4d5f-4658-90ff-50053b6b1597 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/allocations?owner=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0ab0360-70ee-4dab-8b69-47efc7fbbdae X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d629b610-abde-4095-8537-537ddccf3903 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '25e7e5eb-5377-43c6-ae26-babc7ee647bf', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/25e7e5eb-5377-43c6-ae26-babc7ee647bf', 'rel': 'self'}, {'href': 'http://localhost/allocations/25e7e5eb-5377-43c6-ae26-babc7ee647bf', 'rel': 'bookmark'}]}, {'uuid': 'e835b2e1-fc2b-486a-8d0b-a3f85790acb7', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/e835b2e1-fc2b-486a-8d0b-a3f85790acb7', 'rel': 'self'}, {'href': 'http://localhost/allocations/e835b2e1-fc2b-486a-8d0b-a3f85790acb7', 'rel': 'bookmark'}]}, {'uuid': '460f8b92-45de-4cb1-97a9-92906d0e6054', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/460f8b92-45de-4cb1-97a9-92906d0e6054', 'rel': 'self'}, {'href': 'http://localhost/allocations/460f8b92-45de-4cb1-97a9-92906d0e6054', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=460f8b92-45de-4cb1-97a9-92906d0e6054'} GET: /v1/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': '11730c9f-e8dc-4326-91aa-e625ec3bdb23', 'created_at': '2024-03-06T09:35:14.802747+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/11730c9f-e8dc-4326-91aa-e625ec3bdb23', 'rel': 'self'}, {'href': 'http://localhost/allocations/11730c9f-e8dc-4326-91aa-e625ec3bdb23', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '78c1b3d4-3abf-4d2b-bb5c-1967fbfae0f7', 'created_at': '2024-03-06T09:35:14.803670+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/78c1b3d4-3abf-4d2b-bb5c-1967fbfae0f7', 'rel': 'self'}, {'href': 'http://localhost/allocations/78c1b3d4-3abf-4d2b-bb5c-1967fbfae0f7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '06b5df96-2605-4ed1-8473-c49db68cec79', 'created_at': '2024-03-06T09:35:14.807482+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/06b5df96-2605-4ed1-8473-c49db68cec79', 'rel': 'self'}, {'href': 'http://localhost/allocations/06b5df96-2605-4ed1-8473-c49db68cec79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?owner=12345 {} GOT:{'allocations': [{'uuid': '104379a9-b641-4f95-81ed-4eddee7e5d58', 'created_at': '2024-03-06T09:35:14.860676+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/104379a9-b641-4f95-81ed-4eddee7e5d58', 'rel': 'self'}, {'href': 'http://localhost/allocations/104379a9-b641-4f95-81ed-4eddee7e5d58', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'e8db61d2-e3ac-4389-9c98-439c15feac02', 'created_at': '2024-03-06T09:35:14.861601+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/e8db61d2-e3ac-4389-9c98-439c15feac02', 'rel': 'self'}, {'href': 'http://localhost/allocations/e8db61d2-e3ac-4389-9c98-439c15feac02', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8843516e-2c4b-4705-8255-8456b0e8700f', 'created_at': '2024-03-06T09:35:14.862627+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/8843516e-2c4b-4705-8255-8456b0e8700f', 'rel': 'self'}, {'href': 'http://localhost/allocations/8843516e-2c4b-4705-8255-8456b0e8700f', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations?owner=12345 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9783df9d-99cf-4900-9321-30b0b3cc1652 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/c10ed2e7-fdd2-47a0-95ca-e5916d6b9168?fields=resource_class,extra {} GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/c10ed2e7-fdd2-47a0-95ca-e5916d6b9168', 'rel': 'self'}, {'href': 'http://localhost/allocations/c10ed2e7-fdd2-47a0-95ca-e5916d6b9168', 'rel': 'bookmark'}]} 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 {} GOT:{'allocations': [{'uuid': '9efc9309-fb07-498a-a41a-acfa5ffe168b', 'created_at': '2024-03-06T09:35:15.184218+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/9efc9309-fb07-498a-a41a-acfa5ffe168b', 'rel': 'self'}, {'href': 'http://localhost/allocations/9efc9309-fb07-498a-a41a-acfa5ffe168b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?sort_key=uuid {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.064382s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.126226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.067938s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0cbc652-25eb-4ed3-8fb2-40b78436e7a6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "330800b8-00d1-4702-a335-e8a2ae04b74f", "created_at": "2024-03-06T09:35:15.023478+00:00", "updated_at": "2024-03-06T09:35:15.032910+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/330800b8-00d1-4702-a335-e8a2ae04b74f", "rel": "self"}, {"href": "http://localhost/allocations/330800b8-00d1-4702-a335-e8a2ae04b74f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/330800b8-00d1-4702-a335-e8a2ae04b74f {} GOT:{'uuid': '330800b8-00d1-4702-a335-e8a2ae04b74f', 'created_at': '2024-03-06T09:35:15.023478+00:00', 'updated_at': '2024-03-06T09:35:15.032910+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/330800b8-00d1-4702-a335-e8a2ae04b74f', 'rel': 'self'}, {'href': 'http://localhost/allocations/330800b8-00d1-4702-a335-e8a2ae04b74f', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/78903a48-8be6-4527-baa6-cc587c9ad74c [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a604a970-adaa-4854-b710-3bbcdbca66ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PATCH: /v1/allocations/4064e9cd-6491-4893-98f6-d3419bfa6bed [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6038400-1067-43fc-92a2-492e01ddddbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '05d13707-b035-4537-b875-663f9526e2d8', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/05d13707-b035-4537-b875-663f9526e2d8 Openstack-Request-Id: req-30a50d36-3dd6-49df-82e5-9fb0ef2b2bf5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "05d13707-b035-4537-b875-663f9526e2d8", "created_at": "2024-03-06T09:35:15.144918+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/05d13707-b035-4537-b875-663f9526e2d8", "rel": "self"}, {"href": "http://localhost/allocations/05d13707-b035-4537-b875-663f9526e2d8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/05d13707-b035-4537-b875-663f9526e2d8 {} GOT:{'uuid': '05d13707-b035-4537-b875-663f9526e2d8', 'created_at': '2024-03-06T09:35:15.144918+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/05d13707-b035-4537-b875-663f9526e2d8', 'rel': 'self'}, {'href': 'http://localhost/allocations/05d13707-b035-4537-b875-663f9526e2d8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/e4163a8f-519f-4c6e-9a81-269c98a64916 Openstack-Request-Id: req-919e2e2c-3a60-4aad-aec9-cf9883d49d10 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e4163a8f-519f-4c6e-9a81-269c98a64916", "created_at": "2024-03-06T09:35:15.188072+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/e4163a8f-519f-4c6e-9a81-269c98a64916", "rel": "self"}, {"href": "http://localhost/allocations/e4163a8f-519f-4c6e-9a81-269c98a64916", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/e4163a8f-519f-4c6e-9a81-269c98a64916 {} GOT:{'uuid': 'e4163a8f-519f-4c6e-9a81-269c98a64916', 'created_at': '2024-03-06T09:35:15.188072+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/e4163a8f-519f-4c6e-9a81-269c98a64916', 'rel': 'self'}, {'href': 'http://localhost/allocations/e4163a8f-519f-4c6e-9a81-269c98a64916', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55dbb2a1-8c6f-4bd0-8924-f1100e1a9f09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.57 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1f79e716-d913-48a0-89fc-cf99e81782f3', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1f79e716-d913-48a0-89fc-cf99e81782f3 Openstack-Request-Id: req-4a72f2e6-713b-45ff-99f8-5399350b5dec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1f79e716-d913-48a0-89fc-cf99e81782f3", "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/1f79e716-d913-48a0-89fc-cf99e81782f3", "rel": "self"}, {"href": "http://localhost/allocations/1f79e716-d913-48a0-89fc-cf99e81782f3", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/1f79e716-d913-48a0-89fc-cf99e81782f3 {} GOT:{'uuid': '1f79e716-d913-48a0-89fc-cf99e81782f3', '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/1f79e716-d913-48a0-89fc-cf99e81782f3', 'rel': 'self'}, {'href': 'http://localhost/allocations/1f79e716-d913-48a0-89fc-cf99e81782f3', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9b201b74-4b75-4003-a393-83e184997370', 'owner': None} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.040745s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.024403s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.034159s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.024016s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.026140s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.034897s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.051809s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> c0455649680c GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e6945c5-707e-4db1-b604-c635043bc82c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '921540f8-d57e-45ac-b209-277a47e25e41', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a4b515d-46d5-4f4c-ba30-ea2258db39e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '52dab91f-8327-402d-981c-d11ad78a2d8a', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/52dab91f-8327-402d-981c-d11ad78a2d8a Openstack-Request-Id: req-8f007977-6ef9-416f-a9e8-b043b4249c55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "52dab91f-8327-402d-981c-d11ad78a2d8a", "created_at": "2024-03-06T09:35:15.360784+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/52dab91f-8327-402d-981c-d11ad78a2d8a", "rel": "self"}, {"href": "http://localhost/allocations/52dab91f-8327-402d-981c-d11ad78a2d8a", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/52dab91f-8327-402d-981c-d11ad78a2d8a {} GOT:{'uuid': '52dab91f-8327-402d-981c-d11ad78a2d8a', 'created_at': '2024-03-06T09:35:15.360784+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/52dab91f-8327-402d-981c-d11ad78a2d8a', 'rel': 'self'}, {'href': 'http://localhost/allocations/52dab91f-8327-402d-981c-d11ad78a2d8a', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': 'fa1a918d-3903-40d4-83a9-423fd9558fb4', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ef5e73b-bf01-49bf-9a3e-bdb9c3377f06 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': 'e2370c2b-8145-4f97-87cb-54ac2a88b065', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/e2370c2b-8145-4f97-87cb-54ac2a88b065 Openstack-Request-Id: req-d709ecfe-69a2-434d-92fd-05f97026fe84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e2370c2b-8145-4f97-87cb-54ac2a88b065", "created_at": "2024-03-06T09:35:15.413141+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/e2370c2b-8145-4f97-87cb-54ac2a88b065", "rel": "self"}, {"href": "http://localhost/allocations/e2370c2b-8145-4f97-87cb-54ac2a88b065", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/e2370c2b-8145-4f97-87cb-54ac2a88b065 {} GOT:{'uuid': 'e2370c2b-8145-4f97-87cb-54ac2a88b065', 'created_at': '2024-03-06T09:35:15.413141+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/e2370c2b-8145-4f97-87cb-54ac2a88b065', 'rel': 'self'}, {'href': 'http://localhost/allocations/e2370c2b-8145-4f97-87cb-54ac2a88b065', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c72aa1de-7a37-4104-b516-b0a444b843be', 'owner': '12345'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8173ef04-6ef1-4081-abb4-507c369905db X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': ['node-1', '38051035-1549-4f0b-a7b0-cb5895c18fa4'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c2f18db2-77c8-4cd9-afce-10aded19165c', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c Openstack-Request-Id: req-11541a1b-9ca6-439a-aed3-d551bfda5831 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "c2f18db2-77c8-4cd9-afce-10aded19165c", "created_at": "2024-03-06T09:35:15.494765+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "38051035-1549-4f0b-a7b0-cb5895c18fa4"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c", "rel": "self"}, {"href": "http://localhost/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c {} GOT:{'uuid': 'c2f18db2-77c8-4cd9-afce-10aded19165c', 'created_at': '2024-03-06T09:35:15.494765+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '38051035-1549-4f0b-a7b0-cb5895c18fa4'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c', 'rel': 'self'}, {'href': 'http://localhost/allocations/c2f18db2-77c8-4cd9-afce-10aded19165c', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '8789a404-d389-4390-8310-aaa02c0d8139', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/8789a404-d389-4390-8310-aaa02c0d8139 Openstack-Request-Id: req-6d29f9f6-1f36-4352-9685-563b5bf10133 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8789a404-d389-4390-8310-aaa02c0d8139", "created_at": "2024-03-06T09:35:15.530103+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/8789a404-d389-4390-8310-aaa02c0d8139", "rel": "self"}, {"href": "http://localhost/allocations/8789a404-d389-4390-8310-aaa02c0d8139", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/8789a404-d389-4390-8310-aaa02c0d8139 {} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.032456s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.021538s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.021397s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.018837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.021408s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.040170s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.030029s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.030024s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.047875s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.022274s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.044200s] ... ok GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/6c258381-1ea9-456e-b884-c6191c7ac8d8 [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec39af05-2656-4585-b690-17af978b5b53 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6c258381-1ea9-456e-b884-c6191c7ac8d8", "created_at": "2024-03-06T09:35:14.943714+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/6c258381-1ea9-456e-b884-c6191c7ac8d8", "rel": "self"}, {"href": "http://localhost/deploy_templates/6c258381-1ea9-456e-b884-c6191c7ac8d8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/68d462c8-5c04-463f-b766-a8c57a2f51ff [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-559b2141-aca0-48f6-a120-e3ca6d77a8fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 68d462c8-5c04-463f-b766-a8c57a2f51ff could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '7b0d430e-8189-476e-9f26-bd39ff0deaa2', '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/7b0d430e-8189-476e-9f26-bd39ff0deaa2 Openstack-Request-Id: req-857e2436-b02e-43d6-8add-984a5c5a622b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7b0d430e-8189-476e-9f26-bd39ff0deaa2", "created_at": "2024-03-06T09:35:15.119046+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7b0d430e-8189-476e-9f26-bd39ff0deaa2", "rel": "self"}, {"href": "http://localhost/deploy_templates/7b0d430e-8189-476e-9f26-bd39ff0deaa2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '30af8ea4-2a0f-47fc-a5fc-6e2c6981be52', '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/30af8ea4-2a0f-47fc-a5fc-6e2c6981be52 Openstack-Request-Id: req-0411df50-e222-423e-99f6-77c9ecca7acc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "30af8ea4-2a0f-47fc-a5fc-6e2c6981be52", "created_at": "2024-03-06T09:35:15.169313+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/30af8ea4-2a0f-47fc-a5fc-6e2c6981be52", "rel": "self"}, {"href": "http://localhost/deploy_templates/30af8ea4-2a0f-47fc-a5fc-6e2c6981be52", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e68771d9-7b89-4441-af7c-ccce17cf6c63', '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/e68771d9-7b89-4441-af7c-ccce17cf6c63 Openstack-Request-Id: req-9c6b7395-3709-4448-b17d-9f625e4d4fb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e68771d9-7b89-4441-af7c-ccce17cf6c63", "created_at": "2024-03-06T09:35:15.230941+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e68771d9-7b89-4441-af7c-ccce17cf6c63", "rel": "self"}, {"href": "http://localhost/deploy_templates/e68771d9-7b89-4441-af7c-ccce17cf6c63", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/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/vendor_passthru/do_test {} GOT:foo POST: /v1/drivers/fake-hardware-type/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2d94c9c-5931-4dcb-9a7b-36faab9e62e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2bfec968-aaae-4cdc-8497-f81afc1bc97d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ddc7d880-849d-4d96-92a5-f58b09a31fe7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'iscsi'], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': []} 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.096245s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.029881s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.037507s] ... ok 2024-03-06 09:35:15.819 3201259 INFO alembic.runtime.migration [req-b403662e-52e8-470e-a7e4-7038d2153ea9 - - - - -] Context impl SQLiteImpl. 2024-03-06 09:35:15.820 3201259 INFO alembic.runtime.migration [req-b403662e-52e8-470e-a7e4-7038d2153ea9 - - - - -] Will assume non-transactional DDL. {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.424653s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.033979s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.053641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.031082s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.039088s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.024067s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.024894s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.021535s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.030195s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.047178s] ... ok GOT:{'uuid': '8789a404-d389-4390-8310-aaa02c0d8139', 'created_at': '2024-03-06T09:35:15.530103+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/8789a404-d389-4390-8310-aaa02c0d8139', 'rel': 'self'}, {'href': 'http://localhost/allocations/8789a404-d389-4390-8310-aaa02c0d8139', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '613a5c8e-f1ed-498b-8400-c521275bb12d', 'owner': '54321'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ffdec2bd-5a7e-48d8-ac2d-82fa6c6fa1aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/cda1475c-f8ef-4598-a346-822d53768865 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91dbd810-8c0c-44fe-bb65-baff4e11c9b3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis cda1475c-f8ef-4598-a346-822d53768865 could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0462e3cd-0183-47df-a7c0-1dd2166d9e8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?detail=True&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8328e75-3457-435b-9622-dc10cc358c6a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/chassis?fields=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/da76a489-b4ff-43d9-8852-729e7174e171', 'rel': 'self'}, {'href': 'http://localhost/chassis/da76a489-b4ff-43d9-8852-729e7174e171', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/2d0439da-99f1-498f-b214-fb046d8e0724', 'rel': 'self'}, {'href': 'http://localhost/chassis/2d0439da-99f1-498f-b214-fb046d8e0724', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=2d0439da-99f1-498f-b214-fb046d8e0724'} GET: /v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831 {} GOT:{'uuid': 'cc46b464-927a-43a3-b67f-9c6d61d84831', 'created_at': '2024-03-06T09:35:15.710128+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831 {} GOT:{'uuid': 'cc46b464-927a-43a3-b67f-9c6d61d84831', 'created_at': '2024-03-06T09:35:15.710128+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'bookmark'}]]} GET: /chassis/cc46b464-927a-43a3-b67f-9c6d61d84831 {} GOT:{'uuid': 'cc46b464-927a-43a3-b67f-9c6d61d84831', 'created_at': '2024-03-06T09:35:15.710128+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/cc46b464-927a-43a3-b67f-9c6d61d84831/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{'nodes': [{'uuid': '0725d400-b445-4790-9e0d-0091489cb558', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0725d400-b445-4790-9e0d-0091489cb558', 'rel': 'self'}, {'href': 'http://localhost/nodes/0725d400-b445-4790-9e0d-0091489cb558', 'rel': 'bookmark'}]}, {'uuid': '7997a41f-34eb-494c-835f-53324011ef4e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7997a41f-34eb-494c-835f-53324011ef4e', 'rel': 'self'}, {'href': 'http://localhost/nodes/7997a41f-34eb-494c-835f-53324011ef4e', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': '0725d400-b445-4790-9e0d-0091489cb558', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0725d400-b445-4790-9e0d-0091489cb558', 'rel': 'self'}, {'href': 'http://localhost/nodes/0725d400-b445-4790-9e0d-0091489cb558', '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=0725d400-b445-4790-9e0d-0091489cb558'} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b4552898-cdd6-4534-8d8b-62d74819961c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cdc747c-18d0-478e-ae3a-047c329d7c10 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:15.859973+00:00", "updated_at": "2024-03-06T09:35:15.875307+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"}]]} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.039906s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.030031s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.022467s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.026465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.026832s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.036573s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.070177s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.028872s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.026072s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.596162s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.139830s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.034948s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.044435s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.033699s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.063127s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.026326s] ... 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: /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 {} GOT:{'drivers': []} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8103cd19-f1b9-4b9c-a060-e792bb60feed X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c53baf24-f09e-4ae3-bb4a-47f8f6203088 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1b9726d5-ec7c-4846-9cac-ad1027338370 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4f6ef4ac-cafb-4107-bb02-8f71fd193977 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'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-5ff027ea-d12e-404c-bd84-1508b7b6f6ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-9d239c72-48ba-4e83-8373-65669226afa4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:host_id']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '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-f37dc44f-a841-4138-82a6-6fd96e55f597 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-d4e6b32f-115c-4259-8861-d33f89f8aaa0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-2d2c045f-04be-44d2-9a06-c715c5522616 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-59170aaf-86a0-477e-918a-49a77be28133 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-ef0d729e-d166-4a00-aa57-4d6a5897e37c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.022117s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.116849s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:15.859973+00:00', 'updated_at': '2024-03-06T09:35:15.875307+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f17d183-0d9c-4ce1-82ff-41ac3541e394 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: uuid, extra, description\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-efd97c85-dd93-44ef-ae54-00297e754e4d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot overwrite UUID for an existing Chassis.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8a81ae0-a870-428d-86d6-0bdc7f925592 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['description']\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-08a2492b-ef1c-4578-a024-832a06a46bc5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long Failed validating 'maxLength' in schema['properties']['description']\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'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-45161f11-46cb-48a9-b67c-ff081a87ba39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:16.020507+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-03-06T09:35:16.020507+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': '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} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': '50731676-2abe-49ba-9d03-e4b94c35b202', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/50731676-2abe-49ba-9d03-e4b94c35b202', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/50731676-2abe-49ba-9d03-e4b94c35b202', 'rel': 'bookmark'}]}, {'uuid': 'c6b6d85b-19b6-4096-ad41-34fc179c00e3', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/c6b6d85b-19b6-4096-ad41-34fc179c00e3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c6b6d85b-19b6-4096-ad41-34fc179c00e3', 'rel': 'bookmark'}]}, {'uuid': 'ab3be5a6-96a7-4c44-8eda-127ecf5ff562', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/ab3be5a6-96a7-4c44-8eda-127ecf5ff562', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ab3be5a6-96a7-4c44-8eda-127ecf5ff562', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=ab3be5a6-96a7-4c44-8eda-127ecf5ff562'} GET: /v1/deploy_templates?detail=True {} GOT:{'deploy_templates': [{'uuid': '72e9ec6e-d21f-4d73-8fc4-062149ecb694', 'created_at': '2024-03-06T09:35:16.142849+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/72e9ec6e-d21f-4d73-8fc4-062149ecb694', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/72e9ec6e-d21f-4d73-8fc4-062149ecb694', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates?sort_key=name&detail=True {} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.032887s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.026235s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.020091s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.137750s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.075535s] ... ok GOT:{'allocations': [{'uuid': '5365d52c-3149-4308-a7b1-f7ce038b9a8e', 'created_at': '2024-03-06T09:35:15.256287+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/5365d52c-3149-4308-a7b1-f7ce038b9a8e', 'rel': 'self'}, {'href': 'http://localhost/allocations/5365d52c-3149-4308-a7b1-f7ce038b9a8e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8f8268fd-2336-40d3-a570-7b84f32bb2f8', 'created_at': '2024-03-06T09:35:15.254374+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/8f8268fd-2336-40d3-a570-7b84f32bb2f8', 'rel': 'self'}, {'href': 'http://localhost/allocations/8f8268fd-2336-40d3-a570-7b84f32bb2f8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e1ae01ef-4ed2-46ed-adde-49695c679d96', 'created_at': '2024-03-06T09:35:15.255414+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/e1ae01ef-4ed2-46ed-adde-49695c679d96', 'rel': 'self'}, {'href': 'http://localhost/allocations/e1ae01ef-4ed2-46ed-adde-49695c679d96', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0653c27b-3b7b-4a70-acd2-4a5f73ba3331 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9983b09b-5c88-4406-8861-302dd5e1a0e9", "created_at": "2024-03-06T09:35:15.328672+00:00", "updated_at": "2024-03-06T09:35:15.360784+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/9983b09b-5c88-4406-8861-302dd5e1a0e9", "rel": "self"}, {"href": "http://localhost/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9 {} GOT:{'uuid': '9983b09b-5c88-4406-8861-302dd5e1a0e9', 'created_at': '2024-03-06T09:35:15.328672+00:00', 'updated_at': '2024-03-06T09:35:15.360784+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/9983b09b-5c88-4406-8861-302dd5e1a0e9', 'rel': 'self'}, {'href': 'http://localhost/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d94d3f9-f3f6-4f25-8c62-c9a3a914c39b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9983b09b-5c88-4406-8861-302dd5e1a0e9", "created_at": "2024-03-06T09:35:15.328672+00:00", "updated_at": "2024-03-06T09:35:15.403456+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9", "rel": "self"}, {"href": "http://localhost/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9 {} GOT:{'uuid': '9983b09b-5c88-4406-8861-302dd5e1a0e9', 'created_at': '2024-03-06T09:35:15.328672+00:00', 'updated_at': '2024-03-06T09:35:15.403456+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9', 'rel': 'self'}, {'href': 'http://localhost/allocations/9983b09b-5c88-4406-8861-302dd5e1a0e9', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/ee87a5d5-e7c9-45d6-b693-895a57f0bf95 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-49ab3638-a940-4b3b-9872-20d47bbd10f1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4 [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3143a2f-231c-4368-bdca-2eb73493f820 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "17fb3d9b-82f3-4531-bcbd-6f11d92f39d4", "created_at": "2024-03-06T09:35:15.556666+00:00", "updated_at": "2024-03-06T09:35:16.071718+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4", "rel": "self"}, {"href": "http://localhost/allocations/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4 {} GOT:{'uuid': '17fb3d9b-82f3-4531-bcbd-6f11d92f39d4', 'created_at': '2024-03-06T09:35:15.556666+00:00', 'updated_at': '2024-03-06T09:35:16.071718+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4', 'rel': 'self'}, {'href': 'http://localhost/allocations/17fb3d9b-82f3-4531-bcbd-6f11d92f39d4', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/9c0e1d2e-47b0-423c-9be4-74b628cc7c67 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8aaad76a-2708-42b9-8dac-cc3ce2f5936c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} PATCH: /v1/allocations/fb4afb72-4b63-4d52-af68-ba821b87e85f [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f79b50a-680b-4fa0-9bac-4b00548f4a2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "fb4afb72-4b63-4d52-af68-ba821b87e85f", "created_at": "2024-03-06T09:35:16.199819+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/fb4afb72-4b63-4d52-af68-ba821b87e85f", "rel": "self"}, {"href": "http://localhost/allocations/fb4afb72-4b63-4d52-af68-ba821b87e85f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/fb4afb72-4b63-4d52-af68-ba821b87e85f {} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.202871s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.050605s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.073822s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.033751s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.086247s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.037627s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.121124s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.079195s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.069194s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.056267s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.055753s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.041183s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.048300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.046828s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.052007s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.060819s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.079545s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.134947s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.043577s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.066759s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.100552s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.100160s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.139442s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.076447s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.154847s] ... ok GOT:{'deploy_templates': [{'uuid': 'ae7226cf-41c0-47d2-8a79-bbb4e5c03800', 'created_at': '2024-03-06T09:35:16.175114+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ae7226cf-41c0-47d2-8a79-bbb4e5c03800', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ae7226cf-41c0-47d2-8a79-bbb4e5c03800', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'e2184080-e7ee-4306-bd29-16b477ed68ab', 'created_at': '2024-03-06T09:35:16.173874+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/e2184080-e7ee-4306-bd29-16b477ed68ab', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e2184080-e7ee-4306-bd29-16b477ed68ab', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'e080d06f-2a3f-413f-a054-5889936b9467', 'created_at': '2024-03-06T09:35:16.172464+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/e080d06f-2a3f-413f-a054-5889936b9467', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e080d06f-2a3f-413f-a054-5889936b9467', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates?detail=False&fields=steps {} GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/a689f0b0-7a38-4314-a5a3-6630939dcae5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a689f0b0-7a38-4314-a5a3-6630939dcae5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates/53ee4f14-c9ef-4eed-8eb6-638ae21fd9d8 {} 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': 'f9391751-f930-4449-be7b-58c844fbce0f', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f9391751-f930-4449-be7b-58c844fbce0f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f9391751-f930-4449-be7b-58c844fbce0f', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': 'a0bd543d-b7be-4b02-bdd0-782c5dc4d994', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a0bd543d-b7be-4b02-bdd0-782c5dc4d994', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a0bd543d-b7be-4b02-bdd0-782c5dc4d994', 'rel': 'bookmark'}]}, {'uuid': '227fe189-8955-430c-b0a7-7bec04c8ee99', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/227fe189-8955-430c-b0a7-7bec04c8ee99', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/227fe189-8955-430c-b0a7-7bec04c8ee99', 'rel': 'bookmark'}]}, {'uuid': '00525f57-7ee9-4c08-a296-a93a575184ab', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/00525f57-7ee9-4c08-a296-a93a575184ab', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/00525f57-7ee9-4c08-a296-a93a575184ab', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/01e0fc60-ea1d-4daa-bebe-d50fb952ecfa [{'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-45f2a136-640d-420a-97ce-90718bf3f5d6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "01e0fc60-ea1d-4daa-bebe-d50fb952ecfa", "created_at": "2024-03-06T09:35:16.373630+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/01e0fc60-ea1d-4daa-bebe-d50fb952ecfa", "rel": "self"}, {"href": "http://localhost/deploy_templates/01e0fc60-ea1d-4daa-bebe-d50fb952ecfa", "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/ec666a61-fde2-4329-8fb5-30837e65d181 [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dd29df7f-6e15-4940-82e6-8fb8d2aaf515 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/a3ab7d5b-f46a-4d3f-b1c7-54aa4cb53abd [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f61a16e-1420-4b9f-ac0f-2cf21cf7dbe0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/01c4b882-ae10-4c2b-a91d-18f6e334ddd7 [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-07f6df5e-99e0-4cd3-af10-29755412cb9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/4269de71-f8b6-46fd-a950-113a077ceddc [{'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-a4fc3509-977f-400e-b585-7f8ee58838dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/cbb85d07-7233-4a10-a76c-5af0a4a17f1c [{'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-c62d9699-fcee-4c7d-ad99-52acebb2cd5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.135450s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.069825s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.200803s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.103674s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.110462s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_is_restricted_until_scope_enforcement [0.069692s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.188711s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.152646s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.025492s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.056385s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.262923s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.036863s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.032482s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.076006s] ... ok DELETE: /v1/allocations/1382859f-f855-43f6-899a-43e1da9a2f59 GOT:Response: 204 No Content Openstack-Request-Id: req-ea6d26e9-86e5-4648-ab0c-8b83d5f4534c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0c142f6-4783-4d3c-83e4-e04104690c05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-22f85d3c-66d9-424f-ad1d-a7c6669c8ffa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/nodes/92409867-7010-4bb4-8a06-f9c53536c554/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c4600ab3-2b21-4c38-82a8-264434a6a036 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 92409867-7010-4bb4-8a06-f9c53536c554 could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9636b823-6e05-4887-a264-6c9c1bb14735 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:{'allocations': [{'uuid': 'f6678d78-fc62-4a49-9ddf-3c897e3c753e', 'created_at': '2024-03-06T09:35:16.510598+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/f6678d78-fc62-4a49-9ddf-3c897e3c753e', 'rel': 'self'}, {'href': 'http://localhost/allocations/f6678d78-fc62-4a49-9ddf-3c897e3c753e', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'ca1d7a52-cbe8-45e2-b037-ce0726eb4d13', 'created_at': '2024-03-06T09:35:16.512645+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/ca1d7a52-cbe8-45e2-b037-ce0726eb4d13', 'rel': 'self'}, {'href': 'http://localhost/allocations/ca1d7a52-cbe8-45e2-b037-ce0726eb4d13', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '77afc84f-8911-4599-b21c-ee6e3984efca', 'created_at': '2024-03-06T09:35:16.513614+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/77afc84f-8911-4599-b21c-ee6e3984efca', 'rel': 'self'}, {'href': 'http://localhost/allocations/77afc84f-8911-4599-b21c-ee6e3984efca', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '83936107-1493-4a93-8317-514011d2c29b', 'created_at': '2024-03-06T09:35:16.514561+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/83936107-1493-4a93-8317-514011d2c29b', 'rel': 'self'}, {'href': 'http://localhost/allocations/83936107-1493-4a93-8317-514011d2c29b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'ff3e1094-ddb5-43bd-bb0b-4c00153cafad', 'created_at': '2024-03-06T09:35:16.518865+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/ff3e1094-ddb5-43bd-bb0b-4c00153cafad', 'rel': 'self'}, {'href': 'http://localhost/allocations/ff3e1094-ddb5-43bd-bb0b-4c00153cafad', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations/6b88b029-1404-4a2c-a875-9abc7b704ffd {} GOT:{'uuid': '6b88b029-1404-4a2c-a875-9abc7b704ffd', 'created_at': '2024-03-06T09:35:16.635853+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/6b88b029-1404-4a2c-a875-9abc7b704ffd', 'rel': 'self'}, {'href': 'http://localhost/allocations/6b88b029-1404-4a2c-a875-9abc7b704ffd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': 'aadc0fb1-4598-4d38-84ef-7042c0493d16', 'created_at': '2024-03-06T09:35:16.759110+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/aadc0fb1-4598-4d38-84ef-7042c0493d16', 'rel': 'self'}, {'href': 'http://localhost/allocations/aadc0fb1-4598-4d38-84ef-7042c0493d16', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4ccab1bd-854b-4a70-ad5e-d7b8379ed425', 'created_at': '2024-03-06T09:35:16.760164+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/4ccab1bd-854b-4a70-ad5e-d7b8379ed425', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ccab1bd-854b-4a70-ad5e-d7b8379ed425', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'e6e603ab-bec4-4f35-b084-aebaaebc9c76', 'created_at': '2024-03-06T09:35:16.761135+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/e6e603ab-bec4-4f35-b084-aebaaebc9c76', 'rel': 'self'}, {'href': 'http://localhost/allocations/e6e603ab-bec4-4f35-b084-aebaaebc9c76', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/70b7b1d7-f0d7-4f96-ba3e-b010df284f3f {} 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?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/790736b5-0020-435b-86e6-5681b922ae7e', 'rel': 'self'}, {'href': 'http://localhost/allocations/790736b5-0020-435b-86e6-5681b922ae7e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/b644869f-92e1-4c17-a3c9-9e5fc73f1e7f', 'rel': 'self'}, {'href': 'http://localhost/allocations/b644869f-92e1-4c17-a3c9-9e5fc73f1e7f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=b644869f-92e1-4c17-a3c9-9e5fc73f1e7f'} GET: /v1/allocations/2c520d63-e86f-43a7-85a1-5e92fe4bfef3 {} GOT:{'uuid': '2c520d63-e86f-43a7-85a1-5e92fe4bfef3', 'created_at': '2024-03-06T09:35:17.092800+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/2c520d63-e86f-43a7-85a1-5e92fe4bfef3', 'rel': 'self'}, {'href': 'http://localhost/allocations/2c520d63-e86f-43a7-85a1-5e92fe4bfef3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.086406s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.292755s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.067137s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.030120s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.075575s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.045574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.082285s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.033960s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.103569s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.069642s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.047655s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.220623s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.100559s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.252981s] ... ok GOT:{'uuid': 'fb4afb72-4b63-4d52-af68-ba821b87e85f', 'created_at': '2024-03-06T09:35:16.199819+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/fb4afb72-4b63-4d52-af68-ba821b87e85f', 'rel': 'self'}, {'href': 'http://localhost/allocations/fb4afb72-4b63-4d52-af68-ba821b87e85f', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/5a8ba99e-7b8e-4e0e-ad54-b6fcb8ce1794 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-182c91b2-c2b2-415b-856f-3c4836d40c07 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/4c7f760a-bec5-41d9-b210-55f17a6f4194 [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-42b7281b-69c0-49e6-82af-15f3e2bfd985 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4c7f760a-bec5-41d9-b210-55f17a6f4194 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fbbbd0a1-ea49-4b01-93ee-05503ae36554', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3dc6524-0744-4167-8239-1e02b43878b8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f933a497-41c5-43b4-907e-737c3b8540cb', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-043c913f-7d73-48f5-b055-8cb57d1f8bc9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '277e533a-1dc2-417a-a473-e457be6bd0a1', 'owner': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-26e7f5ae-7211-4f94-b630-751c8895266b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"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/0405245e-2d29-465f-9db9-cce7bca54a5d Openstack-Request-Id: req-5bbc5bb7-1c94-4fe0-bdc1-f1251f7dd210 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "0405245e-2d29-465f-9db9-cce7bca54a5d", "created_at": "2024-03-06T09:35:16.778348+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/0405245e-2d29-465f-9db9-cce7bca54a5d", "rel": "self"}, {"href": "http://localhost/allocations/0405245e-2d29-465f-9db9-cce7bca54a5d", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/0405245e-2d29-465f-9db9-cce7bca54a5d {} GOT:{'uuid': '0405245e-2d29-465f-9db9-cce7bca54a5d', 'created_at': '2024-03-06T09:35:16.778348+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/0405245e-2d29-465f-9db9-cce7bca54a5d', 'rel': 'self'}, {'href': 'http://localhost/allocations/0405245e-2d29-465f-9db9-cce7bca54a5d', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7a405345-2784-4601-a8dc-d82bbd715025', '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': [], 'uuid': '6c359833-36f7-4159-87c0-4d94a2e6cde4', 'owner': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9d9adf85-5ee2-4055-b451-66f4ea1362aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_pre_rbac\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd5b9b45d-33ff-4dae-8b62-a2e951f85e69', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1269be42-bf15-496b-9d36-62a970d0a51d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ff1ad555-cc78-4193-9b50-fd5362c72787', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/ff1ad555-cc78-4193-9b50-fd5362c72787 Openstack-Request-Id: req-3b76dc79-f5e7-4d0c-8a9a-7ed522c9f90d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ff1ad555-cc78-4193-9b50-fd5362c72787", "created_at": "2024-03-06T09:35:17.324778+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/ff1ad555-cc78-4193-9b50-fd5362c72787", "rel": "self"}, {"href": "http://localhost/allocations/ff1ad555-cc78-4193-9b50-fd5362c72787", "rel": "bookmark"}], "node_uuid": null} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dc651a33-2983-452e-a102-9b399bc7836b', 'owner': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-119c5c8e-5764-42b9-971a-337440d89245 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '0276da21-27e3-451b-85f9-97661087c025', 'owner': None} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.057864s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0da74a30-bd62-47fb-b021-0b5d28dca154 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a352544-be43-454c-9d47-eb562e50f51e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{'vifs': []} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-0fd1a856-7a9d-4a34-a417-00fd69ac54e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-ed7d735e-0593-4122-8d8a-a0114d3e5aea X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d2bab52-27ca-4850-bd41-5c3122d68eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/?limit=3 {} GOT:{'nodes': [{'uuid': '3580e5a8-06fa-4a3a-89a0-13f40c53318b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3580e5a8-06fa-4a3a-89a0-13f40c53318b', 'rel': 'self'}, {'href': 'http://localhost/nodes/3580e5a8-06fa-4a3a-89a0-13f40c53318b', 'rel': 'bookmark'}]}, {'uuid': '8841e445-0722-4fb4-8a51-8974ff4ad764', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8841e445-0722-4fb4-8a51-8974ff4ad764', 'rel': 'self'}, {'href': 'http://localhost/nodes/8841e445-0722-4fb4-8a51-8974ff4ad764', 'rel': 'bookmark'}]}, {'uuid': '0dc7c5db-ee4c-4e7a-a507-69946ffe733f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0dc7c5db-ee4c-4e7a-a507-69946ffe733f', 'rel': 'self'}, {'href': 'http://localhost/nodes/0dc7c5db-ee4c-4e7a-a507-69946ffe733f', '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=0dc7c5db-ee4c-4e7a-a507-69946ffe733f'} GET: /v1/nodes?fields=driver_info,uuid {} GOT:{'nodes': [{'uuid': '4dec128c-9bbf-4616-8107-5e6dff9aed78', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/4dec128c-9bbf-4616-8107-5e6dff9aed78', 'rel': 'self'}, {'href': 'http://localhost/nodes/4dec128c-9bbf-4616-8107-5e6dff9aed78', 'rel': 'bookmark'}]}, {'uuid': 'd2642809-238f-42d7-b55c-e19e62126d5e', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/d2642809-238f-42d7-b55c-e19e62126d5e', 'rel': 'self'}, {'href': 'http://localhost/nodes/d2642809-238f-42d7-b55c-e19e62126d5e', 'rel': 'bookmark'}]}, {'uuid': '2e68278c-afc2-45f7-bb1f-44acbc0f442c', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/2e68278c-afc2-45f7-bb1f-44acbc0f442c', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e68278c-afc2-45f7-bb1f-44acbc0f442c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=2e68278c-afc2-45f7-bb1f-44acbc0f442c'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8d57074-9e97-4809-b227-701ab96a1a14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} GOT:{'nodes': [{'uuid': '02795f35-9606-4278-818d-3e8de23b2ada', 'created_at': '2024-03-06T09:35:17.242063+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/02795f35-9606-4278-818d-3e8de23b2ada', 'rel': 'self'}, {'href': 'http://localhost/nodes/02795f35-9606-4278-818d-3e8de23b2ada', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/02795f35-9606-4278-818d-3e8de23b2ada/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/02795f35-9606-4278-818d-3e8de23b2ada/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/02795f35-9606-4278-818d-3e8de23b2ada/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/02795f35-9606-4278-818d-3e8de23b2ada/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/02795f35-9606-4278-818d-3e8de23b2ada/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/02795f35-9606-4278-818d-3e8de23b2ada/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/02795f35-9606-4278-818d-3e8de23b2ada/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/02795f35-9606-4278-818d-3e8de23b2ada/volume', 'rel': 'bookmark'}]}, {'uuid': '388c6535-2bc7-4363-85f9-5f76b63438f9', 'created_at': '2024-03-06T09:35:17.267400+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/388c6535-2bc7-4363-85f9-5f76b63438f9', 'rel': 'self'}, {'href': 'http://localhost/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/388c6535-2bc7-4363-85f9-5f76b63438f9/volume', 'rel': 'bookmark'}]}, {'uuid': '60ae7a71-3344-41eb-9ec1-4b037157d6a5', 'created_at': '2024-03-06T09:35:17.270367+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/60ae7a71-3344-41eb-9ec1-4b037157d6a5', 'rel': 'self'}, {'href': 'http://localhost/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/60ae7a71-3344-41eb-9ec1-4b037157d6a5/volume', 'rel': 'bookmark'}]}, {'uuid': 'd1707512-8435-4ad5-b489-97bced2615ee', 'created_at': '2024-03-06T09:35:17.272638+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/d1707512-8435-4ad5-b489-97bced2615ee', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1707512-8435-4ad5-b489-97bced2615ee', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d1707512-8435-4ad5-b489-97bced2615ee/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1707512-8435-4ad5-b489-97bced2615ee/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d1707512-8435-4ad5-b489-97bced2615ee/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1707512-8435-4ad5-b489-97bced2615ee/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d1707512-8435-4ad5-b489-97bced2615ee/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1707512-8435-4ad5-b489-97bced2615ee/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d1707512-8435-4ad5-b489-97bced2615ee/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1707512-8435-4ad5-b489-97bced2615ee/volume', 'rel': 'bookmark'}]}, {'uuid': 'a174487d-5ab8-4fed-99a0-2806dbecc202', 'created_at': '2024-03-06T09:35:17.274976+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/a174487d-5ab8-4fed-99a0-2806dbecc202', 'rel': 'self'}, {'href': 'http://localhost/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a174487d-5ab8-4fed-99a0-2806dbecc202/volume', 'rel': 'bookmark'}]}, {'uuid': '7f59f17d-636f-4d66-a8a2-6d519f632e56', 'created_at': '2024-03-06T09:35:17.277306+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/7f59f17d-636f-4d66-a8a2-6d519f632e56', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f59f17d-636f-4d66-a8a2-6d519f632e56/volume', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.194512s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.033513s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.032238s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.070660s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.045314s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.034141s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.070033s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.064848s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.123922s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.045872s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.072813s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.153844s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.053182s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.053387s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.079534s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.043894s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.042381s] ... ok GET: /v1/allocations/8a26231d-c48e-4eeb-b1fa-17a2a4e4c636 {} 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/892363e3-8ba0-4971-a2a6-ee50678a5676.json {} GOT:{'uuid': '892363e3-8ba0-4971-a2a6-ee50678a5676', 'created_at': '2024-03-06T09:35:17.253882+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/892363e3-8ba0-4971-a2a6-ee50678a5676', 'rel': 'self'}, {'href': 'http://localhost/allocations/892363e3-8ba0-4971-a2a6-ee50678a5676', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/cdef3e1b-2173-424f-bc86-978c8af4b203 {} GOT:{'uuid': 'cdef3e1b-2173-424f-bc86-978c8af4b203', 'created_at': '2024-03-06T09:35:17.325753+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/cdef3e1b-2173-424f-bc86-978c8af4b203', 'rel': 'self'}, {'href': 'http://localhost/allocations/cdef3e1b-2173-424f-bc86-978c8af4b203', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa {} GOT:{'uuid': 'd719aa2b-069c-4ab4-84e6-e46e18638cfa', 'created_at': '2024-03-06T09:35:17.434630+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/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'self'}, {'href': 'http://localhost/allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa {} GOT:{'uuid': 'd719aa2b-069c-4ab4-84e6-e46e18638cfa', 'created_at': '2024-03-06T09:35:17.434630+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/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'self'}, {'href': 'http://localhost/allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa {} GOT:{'uuid': 'd719aa2b-069c-4ab4-84e6-e46e18638cfa', 'created_at': '2024-03-06T09:35:17.434630+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/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'self'}, {'href': 'http://localhost/allocations/d719aa2b-069c-4ab4-84e6-e46e18638cfa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} PATCH: /v1/allocations/924af50a-7ac7-443f-884f-fb8b72746c71 [{'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-9a9083a0-7007-4985-82c1-ce5e2f3acb44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "924af50a-7ac7-443f-884f-fb8b72746c71", "created_at": "2024-03-06T09:35:17.653505+00:00", "updated_at": "2024-03-06T09:35:17.686169+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/924af50a-7ac7-443f-884f-fb8b72746c71", "rel": "self"}, {"href": "http://localhost/allocations/924af50a-7ac7-443f-884f-fb8b72746c71", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/924af50a-7ac7-443f-884f-fb8b72746c71 {} GOT:{'uuid': '924af50a-7ac7-443f-884f-fb8b72746c71', 'created_at': '2024-03-06T09:35:17.653505+00:00', 'updated_at': '2024-03-06T09:35:17.686169+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/924af50a-7ac7-443f-884f-fb8b72746c71', 'rel': 'self'}, {'href': 'http://localhost/allocations/924af50a-7ac7-443f-884f-fb8b72746c71', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8d3368d-26b2-4997-886e-984481fd6226 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f", "created_at": "2024-03-06T09:35:17.721084+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/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f", "rel": "self"}, {"href": "http://localhost/allocations/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f {} GOT:{'uuid': 'ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f', 'created_at': '2024-03-06T09:35:17.721084+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/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f', 'rel': 'self'}, {'href': 'http://localhost/allocations/ef4f5d9f-4e2b-4f28-9e2d-54296e4b336f', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '80e68832-d4ba-4e1a-a240-acb916a96ccd', 'owner': None, 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/80e68832-d4ba-4e1a-a240-acb916a96ccd Openstack-Request-Id: req-440ef9ef-1f3b-4ac4-8dfd-d42c72c0f57a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "80e68832-d4ba-4e1a-a240-acb916a96ccd", "created_at": "2024-03-06T09:35:17.787169+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/80e68832-d4ba-4e1a-a240-acb916a96ccd", "rel": "self"}, {"href": "http://localhost/allocations/80e68832-d4ba-4e1a-a240-acb916a96ccd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/80e68832-d4ba-4e1a-a240-acb916a96ccd {} GOT:{'uuid': '80e68832-d4ba-4e1a-a240-acb916a96ccd', 'created_at': '2024-03-06T09:35:17.787169+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/80e68832-d4ba-4e1a-a240-acb916a96ccd', 'rel': 'self'}, {'href': 'http://localhost/allocations/80e68832-d4ba-4e1a-a240-acb916a96ccd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '71d443bb-4d60-4283-a3b3-1a8b26303346', 'owner': None} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.050765s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.045953s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.030835s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.024701s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.030192s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.039350s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.043333s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-540658e0-a3d2-4a02-945e-c979d33a56b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "dd62e755-7547-4453-b862-eca63754c1b5", "created_at": "2024-03-06T09:35:16.780001+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dd62e755-7547-4453-b862-eca63754c1b5", "rel": "self"}, {"href": "http://localhost/deploy_templates/dd62e755-7547-4453-b862-eca63754c1b5", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} PATCH: /v1/deploy_templates/044fb7ef-4ecf-4197-9ab4-694e82c216af [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3687b6c5-7e06-4098-837d-f23279760d4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "044fb7ef-4ecf-4197-9ab4-694e82c216af", "created_at": "2024-03-06T09:35:16.904052+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/044fb7ef-4ecf-4197-9ab4-694e82c216af", "rel": "self"}, {"href": "http://localhost/deploy_templates/044fb7ef-4ecf-4197-9ab4-694e82c216af", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '81c5b285-4c83-4852-b41c-5e37d01733cd', '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-34839e85-6227-4992-8484-b3dcd1286957 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'c5718cf5-e30c-4f87-968d-650b8e1ba043', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0759738f-b094-4783-94a9-586bd2ebc01a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array' Failed validating 'type' in schema['properties']['steps']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2ba5691c-3355-47ec-98c8-01220eda3c65', '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-1caf8afb-d827-478d-8d66-eae54519ab32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '252affaa-f798-4ead-8de0-53c08a494f83', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e2a3d11-bf06-4fa8-b320-55796df238ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['step']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2188182e-5384-4588-a8d6-18330b2497be', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fdc648d2-8eb4-483c-a592-c18e9a6ebf0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e1c51c23-bed2-4009-a650-3a905c8d978e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c056234-4301-421a-8938-68f42afccea4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"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/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a7c5d9c-7e67-4bef-ae6b-4dfad484fd28 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90289f93-0856-47c0-9b05-3c475b871a8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d979fc3-1506-400d-9ba3-41b8515e8e02 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4063aada-0c52-425d-a5ac-1a4d27a2b9b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:{'drivers': []} GET: /v1/drivers?type=dynamic {} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.171761s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.043929s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.049125s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.048791s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.031592s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/71d443bb-4d60-4283-a3b3-1a8b26303346 Openstack-Request-Id: req-af035a81-6b5b-40dc-93f8-bbf96f0f90e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "71d443bb-4d60-4283-a3b3-1a8b26303346", "created_at": "2024-03-06T09:35:17.828587+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/71d443bb-4d60-4283-a3b3-1a8b26303346", "rel": "self"}, {"href": "http://localhost/allocations/71d443bb-4d60-4283-a3b3-1a8b26303346", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/71d443bb-4d60-4283-a3b3-1a8b26303346 {} GOT:{'uuid': '71d443bb-4d60-4283-a3b3-1a8b26303346', 'created_at': '2024-03-06T09:35:17.828587+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/71d443bb-4d60-4283-a3b3-1a8b26303346', 'rel': 'self'}, {'href': 'http://localhost/allocations/71d443bb-4d60-4283-a3b3-1a8b26303346', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8 Openstack-Request-Id: req-48598efd-2020-48f7-b073-4d819278f462 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8", "created_at": "2024-03-06T09:35:17.875304+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/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8", "rel": "self"}, {"href": "http://localhost/allocations/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8 {} GOT:{'uuid': 'ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8', 'created_at': '2024-03-06T09:35:17.875304+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/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8', 'rel': 'self'}, {'href': 'http://localhost/allocations/ba8a85e9-3eb3-44f9-b578-5a06fcbf4cf8', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '80292c4c-ba00-47c5-9f1d-a1d7885c547c', 'owner': '12345'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-07126de5-2237-4901-8405-a9fca64c056e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': 'b899df2c-3883-4ad5-9b28-de5ece12992d', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/b899df2c-3883-4ad5-9b28-de5ece12992d Openstack-Request-Id: req-7516ca82-b5f1-4965-9c79-5cfa988253cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b899df2c-3883-4ad5-9b28-de5ece12992d", "created_at": "2024-03-06T09:35:17.931346+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/b899df2c-3883-4ad5-9b28-de5ece12992d", "rel": "self"}, {"href": "http://localhost/allocations/b899df2c-3883-4ad5-9b28-de5ece12992d", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/b899df2c-3883-4ad5-9b28-de5ece12992d {} GOT:{'uuid': 'b899df2c-3883-4ad5-9b28-de5ece12992d', 'created_at': '2024-03-06T09:35:17.931346+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/b899df2c-3883-4ad5-9b28-de5ece12992d', 'rel': 'self'}, {'href': 'http://localhost/allocations/b899df2c-3883-4ad5-9b28-de5ece12992d', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f284b543-20f3-4fdb-a18f-de13f4b8c733', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c077d3d-8fdd-495b-85fb-eb5853173d5b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'db97241e-f206-48f9-99c6-9cbb4bf1e7e7'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/db97241e-f206-48f9-99c6-9cbb4bf1e7e7 Openstack-Request-Id: req-7ce81cd0-0f4e-4b52-b1cf-06a99c74ad52 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "db97241e-f206-48f9-99c6-9cbb4bf1e7e7", "created_at": "2024-03-06T09:35:18.021937+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/db97241e-f206-48f9-99c6-9cbb4bf1e7e7", "rel": "self"}, {"href": "http://localhost/allocations/db97241e-f206-48f9-99c6-9cbb4bf1e7e7", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/db97241e-f206-48f9-99c6-9cbb4bf1e7e7 {} GOT:{'uuid': 'db97241e-f206-48f9-99c6-9cbb4bf1e7e7', 'created_at': '2024-03-06T09:35:18.021937+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/db97241e-f206-48f9-99c6-9cbb4bf1e7e7', 'rel': 'self'}, {'href': 'http://localhost/allocations/db97241e-f206-48f9-99c6-9cbb4bf1e7e7', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0c84306e-1fcd-4827-8622-f3dba4bcc56f', 'owner': '12345'} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.032985s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.040701s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.037801s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.026022s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.261079s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.036402s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/0276da21-27e3-451b-85f9-97661087c025 Openstack-Request-Id: req-49bb7c62-ae2e-4e3d-9f4e-d40f31704cf2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "0276da21-27e3-451b-85f9-97661087c025", "created_at": "2024-03-06T09:35:17.607381+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/0276da21-27e3-451b-85f9-97661087c025", "rel": "self"}, {"href": "http://localhost/allocations/0276da21-27e3-451b-85f9-97661087c025", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/0276da21-27e3-451b-85f9-97661087c025 {} GOT:{'uuid': '0276da21-27e3-451b-85f9-97661087c025', 'created_at': '2024-03-06T09:35:17.607381+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/0276da21-27e3-451b-85f9-97661087c025', 'rel': 'self'}, {'href': 'http://localhost/allocations/0276da21-27e3-451b-85f9-97661087c025', 'rel': 'bookmark'}], 'node_uuid': None} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-db37fda4-6500-41e4-ba81-f52170efde23 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-5a1522c0-25c4-4659-a5b5-65e1c453d394 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-068fe6f7-546a-4056-91d2-c368065703fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '8bd8c0e5-71f6-4f07-ba2c-62c7dbc27973', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8bd8c0e5-71f6-4f07-ba2c-62c7dbc27973', 'rel': 'self'}, {'href': 'http://localhost/chassis/8bd8c0e5-71f6-4f07-ba2c-62c7dbc27973', 'rel': 'bookmark'}]}, {'uuid': '62f7307c-232b-418b-b2a4-3d197c8f2fd5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/62f7307c-232b-418b-b2a4-3d197c8f2fd5', 'rel': 'self'}, {'href': 'http://localhost/chassis/62f7307c-232b-418b-b2a4-3d197c8f2fd5', 'rel': 'bookmark'}]}, {'uuid': '54caba5c-faeb-4039-bd36-ded50faa417f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/54caba5c-faeb-4039-bd36-ded50faa417f', 'rel': 'self'}, {'href': 'http://localhost/chassis/54caba5c-faeb-4039-bd36-ded50faa417f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=54caba5c-faeb-4039-bd36-ded50faa417f'} 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?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/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fd798b89-1376-4b12-ab10-b742ca3e4140 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1f1e6bdd-55d9-494e-901b-e4e4776dbf85 {} GOT:{'uuid': '1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'created_at': '2024-03-06T09:35:18.041149+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85 {} GOT:{'uuid': '1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'created_at': '2024-03-06T09:35:18.041149+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'bookmark'}]]} GET: /chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85 {} GOT:{'uuid': '1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'created_at': '2024-03-06T09:35:18.041149+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/1f1e6bdd-55d9-494e-901b-e4e4776dbf85/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:18.093003+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/21f52ff6-fea8-48b6-8021-65fec8757af0 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.029493s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.323474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.090205s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.064148s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.051851s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.046353s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.042343s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.055852s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.030431s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.024264s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.072451s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.019263s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.014325s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/0c84306e-1fcd-4827-8622-f3dba4bcc56f Openstack-Request-Id: req-7dba03ea-2fa3-46ab-bdde-2a0ada0250dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "0c84306e-1fcd-4827-8622-f3dba4bcc56f", "created_at": "2024-03-06T09:35:18.056567+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/0c84306e-1fcd-4827-8622-f3dba4bcc56f", "rel": "self"}, {"href": "http://localhost/allocations/0c84306e-1fcd-4827-8622-f3dba4bcc56f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/0c84306e-1fcd-4827-8622-f3dba4bcc56f {} GOT:{'uuid': '0c84306e-1fcd-4827-8622-f3dba4bcc56f', 'created_at': '2024-03-06T09:35:18.056567+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/0c84306e-1fcd-4827-8622-f3dba4bcc56f', 'rel': 'self'}, {'href': 'http://localhost/allocations/0c84306e-1fcd-4827-8622-f3dba4bcc56f', 'rel': 'bookmark'}], 'node_uuid': None} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'ec993577-ee72-4081-9184-3ccfe785cdd4', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ec993577-ee72-4081-9184-3ccfe785cdd4', 'rel': 'self'}, {'href': 'http://localhost/chassis/ec993577-ee72-4081-9184-3ccfe785cdd4', 'rel': 'bookmark'}]}, {'uuid': '67e2405c-1a01-4c15-a2d8-6cfd2a892848', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/67e2405c-1a01-4c15-a2d8-6cfd2a892848', 'rel': 'self'}, {'href': 'http://localhost/chassis/67e2405c-1a01-4c15-a2d8-6cfd2a892848', 'rel': 'bookmark'}]}, {'uuid': 'c7b3be9f-8101-44ec-902a-d5ffe137dc05', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c7b3be9f-8101-44ec-902a-d5ffe137dc05', 'rel': 'self'}, {'href': 'http://localhost/chassis/c7b3be9f-8101-44ec-902a-d5ffe137dc05', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=c7b3be9f-8101-44ec-902a-d5ffe137dc05'} GET: /v1/chassis/detail {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:18.126011+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} GET: /v1/chassis?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca3481c9-0da2-47fd-bb60-7a24d0a099de X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '595ede14-e9e5-45ec-ac19-94c0e384355d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/595ede14-e9e5-45ec-ac19-94c0e384355d', 'rel': 'self'}, {'href': 'http://localhost/chassis/595ede14-e9e5-45ec-ac19-94c0e384355d', 'rel': 'bookmark'}]}, {'uuid': 'b6fdc1bd-f633-4fd4-999d-548353905fbb', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b6fdc1bd-f633-4fd4-999d-548353905fbb', 'rel': 'self'}, {'href': 'http://localhost/chassis/b6fdc1bd-f633-4fd4-999d-548353905fbb', 'rel': 'bookmark'}]}, {'uuid': 'aef9684f-8163-494b-acc2-760f75fee926', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/aef9684f-8163-494b-acc2-760f75fee926', 'rel': 'self'}, {'href': 'http://localhost/chassis/aef9684f-8163-494b-acc2-760f75fee926', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '4e924ad3-ebe8-4079-8aca-1a974d700a5a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/4e924ad3-ebe8-4079-8aca-1a974d700a5a', 'rel': 'self'}, {'href': 'http://localhost/chassis/4e924ad3-ebe8-4079-8aca-1a974d700a5a', 'rel': 'bookmark'}]}, {'uuid': '13651415-884f-42dd-9934-f38bf15ee20e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/13651415-884f-42dd-9934-f38bf15ee20e', 'rel': 'self'}, {'href': 'http://localhost/chassis/13651415-884f-42dd-9934-f38bf15ee20e', 'rel': 'bookmark'}]}, {'uuid': '9ec49a71-97c3-43af-9dc2-18470b57c4a2', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/9ec49a71-97c3-43af-9dc2-18470b57c4a2', 'rel': 'self'}, {'href': 'http://localhost/chassis/9ec49a71-97c3-43af-9dc2-18470b57c4a2', 'rel': 'bookmark'}]}, {'uuid': '90050aa6-7ff4-4481-8b59-17731d173a0a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/90050aa6-7ff4-4481-8b59-17731d173a0a', 'rel': 'self'}, {'href': 'http://localhost/chassis/90050aa6-7ff4-4481-8b59-17731d173a0a', 'rel': 'bookmark'}]}, {'uuid': '21a8718b-10b1-4a91-a982-9e382837853f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/21a8718b-10b1-4a91-a982-9e382837853f', 'rel': 'self'}, {'href': 'http://localhost/chassis/21a8718b-10b1-4a91-a982-9e382837853f', 'rel': 'bookmark'}]}]} GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9aab0d2-e447-4157-b6f7-061234f28fca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} PATCH: /v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a89a206-97fa-4ef2-902f-a5a54fac28f0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f5d4a03e-5e91-4d83-b410-11da8fc53062", "created_at": "2024-03-06T09:35:18.351274+00:00", "updated_at": "2024-03-06T09:35:18.357983+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062", "rel": "self"}, {"href": "http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062 {} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.056353s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.023965s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.044941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.034333s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.276309s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2924b3ad-e2f3-4a5d-82c1-8ca3c519609a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f901c80d-c435-4b52-b390-71590fc84cbb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?instance_uuid=a17e28a5-5fa8-40e4-8316-7421dac456f4 {} GOT:{'nodes': [{'uuid': 'b6831c92-604b-4bcf-9a5b-2d1a78b71876', 'created_at': '2024-03-06T09:35:17.523531+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': 'a17e28a5-5fa8-40e4-8316-7421dac456f4', '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/b6831c92-604b-4bcf-9a5b-2d1a78b71876', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6831c92-604b-4bcf-9a5b-2d1a78b71876', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/b6831c92-604b-4bcf-9a5b-2d1a78b71876/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6831c92-604b-4bcf-9a5b-2d1a78b71876/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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a2866384-7b32-4f50-901e-fcfd64752468 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7cc2a34b-c415-46cb-a598-ac547ba7246f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'ce95e7ac-f569-4496-a26e-59b30994f30a', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/ce95e7ac-f569-4496-a26e-59b30994f30a', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce95e7ac-f569-4496-a26e-59b30994f30a', 'rel': 'bookmark'}]}, {'uuid': 'd8ed6cac-0921-4968-905e-2143435f6b0c', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/d8ed6cac-0921-4968-905e-2143435f6b0c', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8ed6cac-0921-4968-905e-2143435f6b0c', 'rel': 'bookmark'}]}, {'uuid': 'f5feffc6-e5e6-42dc-90fc-2e43820d26aa', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/f5feffc6-e5e6-42dc-90fc-2e43820d26aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5feffc6-e5e6-42dc-90fc-2e43820d26aa', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fields=name&limit=2 {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0885f166-dd55-4796-8ff9-31b611a74a7b', 'rel': 'self'}, {'href': 'http://localhost/nodes/0885f166-dd55-4796-8ff9-31b611a74a7b', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ae7fb180-2da0-4175-ad33-4f32ee2a2529', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae7fb180-2da0-4175-ad33-4f32ee2a2529', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=ae7fb180-2da0-4175-ad33-4f32ee2a2529'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-08c85fc5-5e17-4b3d-984b-61b44e6d7530 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a626baf-c965-494e-ba0c-2cc81946dbb7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8fee6416-a6a7-4a03-b31a-d90e652249b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} GOT:{'description': 'useful piece', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e2b3fe58-a27c-46be-96ac-31cfb97d7a0d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-36f7b408-3c2a-4054-85aa-ca8b8f1f586d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes?provision_state=available {} GOT:{'nodes': [{'uuid': 'da60a30e-ba2b-4789-a233-e6558cd6e347', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/da60a30e-ba2b-4789-a233-e6558cd6e347', 'rel': 'self'}, {'href': 'http://localhost/nodes/da60a30e-ba2b-4789-a233-e6558cd6e347', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.147311s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.056695s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.044633s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.069108s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.046434s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.047535s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.024687s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.028715s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.027934s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.100458s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.099481s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.079045s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.289168s] ... ok GOT:{'uuid': 'f5d4a03e-5e91-4d83-b410-11da8fc53062', 'created_at': '2024-03-06T09:35:18.351274+00:00', 'updated_at': '2024-03-06T09:35:18.357983+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a6c8d74-81ae-4715-bbee-4a81c8954f75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f5d4a03e-5e91-4d83-b410-11da8fc53062", "created_at": "2024-03-06T09:35:18.351274+00:00", "updated_at": "2024-03-06T09:35:18.379354+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062", "rel": "self"}, {"href": "http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062 {} GOT:{'uuid': 'f5d4a03e-5e91-4d83-b410-11da8fc53062', 'created_at': '2024-03-06T09:35:18.351274+00:00', 'updated_at': '2024-03-06T09:35:18.379354+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5d4a03e-5e91-4d83-b410-11da8fc53062/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97c05937-5865-4ddb-8743-642347b4680f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/de6c6042-2013-447c-904e-acb5414aa590 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5bc2c541-4e2a-4a3c-972f-beb6674c906c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "de6c6042-2013-447c-904e-acb5414aa590", "created_at": "2024-03-06T09:35:18.442196+00:00", "updated_at": "2024-03-06T09:35:18.460896+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/de6c6042-2013-447c-904e-acb5414aa590", "rel": "self"}, {"href": "http://localhost/chassis/de6c6042-2013-447c-904e-acb5414aa590", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/de6c6042-2013-447c-904e-acb5414aa590/nodes", "rel": "self"}, {"href": "http://localhost/chassis/de6c6042-2013-447c-904e-acb5414aa590/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/de6c6042-2013-447c-904e-acb5414aa590 {} GOT:{'uuid': 'de6c6042-2013-447c-904e-acb5414aa590', 'created_at': '2024-03-06T09:35:18.442196+00:00', 'updated_at': '2024-03-06T09:35:18.460896+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/de6c6042-2013-447c-904e-acb5414aa590', 'rel': 'self'}, {'href': 'http://localhost/chassis/de6c6042-2013-447c-904e-acb5414aa590', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/de6c6042-2013-447c-904e-acb5414aa590/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/de6c6042-2013-447c-904e-acb5414aa590/nodes', 'rel': 'bookmark'}]]} 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-31524c85-4b8a-482a-bc78-f1194c3e6a39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:18.487044+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-03-06T09:35:18.487044+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'description': 'chassis-new-description', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6cc68af0-6b22-468c-a680-6190a41dddd7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-6fe529cf-e3ce-47b4-9cfa-aac9bb8c403b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}]]} {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.040394s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.026622s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.028130s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.080029s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.056524s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-41ed3c79-cce7-4911-8791-bcdc4cb9ee72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "21f52ff6-fea8-48b6-8021-65fec8757af0", "created_at": "2024-03-06T09:35:18.118883+00:00", "updated_at": "2024-03-06T09:35:18.124862+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0", "rel": "self"}, {"href": "http://localhost/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0/nodes", "rel": "self"}, {"href": "http://localhost/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0 {} GOT:{'uuid': '21f52ff6-fea8-48b6-8021-65fec8757af0', 'created_at': '2024-03-06T09:35:18.118883+00:00', 'updated_at': '2024-03-06T09:35:18.124862+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0', 'rel': 'self'}, {'href': 'http://localhost/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/21f52ff6-fea8-48b6-8021-65fec8757af0/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/78fcce4d-b90a-44e2-b4ee-da222072e289 Openstack-Request-Id: req-12753fa9-9595-49d9-947b-1dc1cafd80af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "78fcce4d-b90a-44e2-b4ee-da222072e289", "created_at": "2024-03-06T09:35:18.191440+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289", "rel": "self"}, {"href": "http://localhost/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289/nodes", "rel": "self"}, {"href": "http://localhost/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289/nodes", "rel": "bookmark"}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '78fcce4d-b90a-44e2-b4ee-da222072e289', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289', 'rel': 'self'}, {'href': 'http://localhost/chassis/78fcce4d-b90a-44e2-b4ee-da222072e289', 'rel': 'bookmark'}]}]} 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-1adb3f1d-82da-4f54-a80e-2c8a76fa44aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:35:18.256643+00:00", "updated_at": null, "description": "\u0430\u043c\u043e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-06T09:35:18.256643+00:00', 'updated_at': None, 'description': 'амо', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a05a6d54-1cf7-4700-b7a8-1342c293c94c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': [{'hostname': 'e49ebc32-e774-47a2-b4ab-a8e6bc5fe261', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/e49ebc32-e774-47a2-b4ab-a8e6bc5fe261', 'rel': 'self'}, {'href': 'http://localhost/conductors/e49ebc32-e774-47a2-b4ab-a8e6bc5fe261', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '2dc2d05a-4883-4952-a2c3-790302e6916a', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/2dc2d05a-4883-4952-a2c3-790302e6916a', 'rel': 'self'}, {'href': 'http://localhost/conductors/2dc2d05a-4883-4952-a2c3-790302e6916a', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5b817a0b-1972-41a7-9216-bd876cd12f4c', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5b817a0b-1972-41a7-9216-bd876cd12f4c', 'rel': 'self'}, {'href': 'http://localhost/conductors/5b817a0b-1972-41a7-9216-bd876cd12f4c', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=5b817a0b-1972-41a7-9216-bd876cd12f4c'} 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 {} GOT:{'conductors': [{'hostname': 'why care', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'why not', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f37e4cea-0d23-4dc4-b597-619dca94812c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=hostname {} {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.084253s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.097954s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.078485s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.043360s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.053349s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.190686s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.152106s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.049882s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.021678s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.105447s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.030159s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.130698s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.130406s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.069897s] ... ok 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?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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'iscsi'], 'default_vendor_interface': None, 'enabled_vendor_interfaces': []}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers/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': '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-60473893-9f0f-40ca-bdd5-d8944ebcad0b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-de2add86-cc9b-410b-b72e-b71c895debaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-d2948f91-a8aa-4659-9323-491ec9569190 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-948771e8-a65b-483f-a446-063ce3536a61 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['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-a03bcccb-e88d-420c-a637-410e15498ece X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:host_id']\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.030863s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.052501s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.068063s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.156366s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.064090s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.028961s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.180246s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.065462s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.033044s] ... ok GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9cf87e93-1556-4e3f-8b61-e74d8ae2bacb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} GOT:{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bbbac1a7-5533-4f09-aeb3-3f91f55a2a75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-03-06T09:35:18.755213+00:00', 'updated_at': '2024-03-06T09:35:18.755019+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-03-06T09:35:18.755213+00:00', 'updated_at': '2024-03-06T09:35:18.755019+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-03-06T09:35:18.755213+00:00', 'updated_at': '2024-03-06T09:35:18.755019+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?detail=true {} GOT:{'conductors': [{'created_at': '2024-03-06T09:35:18.817025+00:00', 'updated_at': '2024-03-06T09:35:18.816768+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-03-06T09:35:18.827939+00:00', 'updated_at': '2024-03-06T09:35:18.827744+00:00', 'hostname': 'why not', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'alive': True}]} DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8b7c7077-353d-4593-8b9e-e0a10fc9afa9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/cde19c8b-1d68-479c-8ed6-67714f31ec94 GOT:Response: 204 No Content Openstack-Request-Id: req-ac577ecc-c257-4e25-8d36-b2d26d01b813 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/deploy_templates/5673b95e-6051-4648-b26d-13ebfbdcd388 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-696fc08e-e03d-4aee-a564-31249a53a13c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} GET: /v1/deploy_templates/c8a819ed-bd5e-4d34-b880-53992739a72c?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a3a3ed89-a209-4bff-b53e-e54197b50552 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/deploy_templates/2afd229c-7dd9-4e76-bdf8-2ff5035ac55e {} GOT:{'uuid': '2afd229c-7dd9-4e76-bdf8-2ff5035ac55e', 'created_at': '2024-03-06T09:35:19.185320+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/2afd229c-7dd9-4e76-bdf8-2ff5035ac55e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2afd229c-7dd9-4e76-bdf8-2ff5035ac55e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a79e003a-f7fa-45da-bf3c-f7b68b8d5381 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ca2075fa-cbbd-4e74-b106-f2cbaf14fbcf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc11f0b4-cee0-405c-864d-9eecfe6a0636 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/b209b4f4-82bb-4a00-abe8-62501c2fb4ee [{'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-d2fb8a73-c5db-41cc-b0c0-536b765ff7d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/aa16a478-628c-4d63-8b7c-07a1b06425b5 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36dd508b-94d8-466b-bfb2-428695fd5955 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.038930s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.142340s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.043983s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.290048s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.063585s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.091095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.211604s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.064655s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.072505s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.125272s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.060041s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.118083s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.033143s] ... ok GOT:{'nodes': [{'uuid': '17103fdb-9b3c-43a4-86fa-f5aba36cef08', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/17103fdb-9b3c-43a4-86fa-f5aba36cef08', 'rel': 'self'}, {'href': 'http://localhost/nodes/17103fdb-9b3c-43a4-86fa-f5aba36cef08', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=foo {} GOT:{'nodes': [{'uuid': '642f08d5-7a94-4bfc-8755-f069ac58e0d8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/642f08d5-7a94-4bfc-8755-f069ac58e0d8', 'rel': 'self'}, {'href': 'http://localhost/nodes/642f08d5-7a94-4bfc-8755-f069ac58e0d8', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': '479a37c7-be59-4a29-b7a7-66763b16bd74', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/479a37c7-be59-4a29-b7a7-66763b16bd74', 'rel': 'self'}, {'href': 'http://localhost/nodes/479a37c7-be59-4a29-b7a7-66763b16bd74', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-edce2831-b13b-4910-890b-fa03c3b4f286 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-39317c90-adde-4073-a07f-4aa0ee712bcd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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?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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.400677+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': '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-03-06T09:35:19.492620+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'agent_secret_token': '******'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.038341s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.033297s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.153229s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.056705s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.105392s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.156056s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.095925s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.035575s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.042910s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.042084s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.146267s] ... ok GOT:{'conductors': [{'hostname': '11e83e94-152e-4a43-a494-622faef39249', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/11e83e94-152e-4a43-a494-622faef39249', 'rel': 'self'}, {'href': 'http://localhost/conductors/11e83e94-152e-4a43-a494-622faef39249', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '16b8c370-6fea-4ad1-88a6-722d965e04f0', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/16b8c370-6fea-4ad1-88a6-722d965e04f0', 'rel': 'self'}, {'href': 'http://localhost/conductors/16b8c370-6fea-4ad1-88a6-722d965e04f0', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5b67bb0a-98e5-48c2-aa93-568247746a07', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5b67bb0a-98e5-48c2-aa93-568247746a07', 'rel': 'self'}, {'href': 'http://localhost/conductors/5b67bb0a-98e5-48c2-aa93-568247746a07', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '89c58e50-79d4-4d40-a2d7-0b850dafd5a0', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/89c58e50-79d4-4d40-a2d7-0b850dafd5a0', 'rel': 'self'}, {'href': 'http://localhost/conductors/89c58e50-79d4-4d40-a2d7-0b850dafd5a0', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'df65ec6d-845f-48d3-affa-0edc61f66693', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/df65ec6d-845f-48d3-affa-0edc61f66693', 'rel': 'self'}, {'href': 'http://localhost/conductors/df65ec6d-845f-48d3-affa-0edc61f66693', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '288dd810-d8a9-453c-96aa-aa8b06f3ae90', 'links': [{'href': 'http://localhost/v1/deploy_templates/288dd810-d8a9-453c-96aa-aa8b06f3ae90', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/288dd810-d8a9-453c-96aa-aa8b06f3ae90', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '53d4b607-f6df-41c3-ac78-26e57f15e189', 'links': [{'href': 'http://localhost/v1/deploy_templates/53d4b607-f6df-41c3-ac78-26e57f15e189', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/53d4b607-f6df-41c3-ac78-26e57f15e189', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '36e2dfaf-6eff-4bf8-b87f-8666e5078f1a', 'links': [{'href': 'http://localhost/v1/deploy_templates/36e2dfaf-6eff-4bf8-b87f-8666e5078f1a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/36e2dfaf-6eff-4bf8-b87f-8666e5078f1a', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=36e2dfaf-6eff-4bf8-b87f-8666e5078f1a'} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '196fef41-0734-46b7-a1c1-90dec74c17c6', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/196fef41-0734-46b7-a1c1-90dec74c17c6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/196fef41-0734-46b7-a1c1-90dec74c17c6', 'rel': 'bookmark'}]}, {'uuid': '3df3993e-fd09-4dee-8e04-2c8baf5bfed5', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/3df3993e-fd09-4dee-8e04-2c8baf5bfed5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3df3993e-fd09-4dee-8e04-2c8baf5bfed5', 'rel': 'bookmark'}]}, {'uuid': '26d2e3fe-c4de-4c3f-94c8-dcc37ff63a48', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/26d2e3fe-c4de-4c3f-94c8-dcc37ff63a48', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/26d2e3fe-c4de-4c3f-94c8-dcc37ff63a48', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=26d2e3fe-c4de-4c3f-94c8-dcc37ff63a48'} 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 {} GOT:{'deploy_templates': [{'uuid': '56e254ad-f4c7-4c60-aeda-7d9ff983236a', 'links': [{'href': 'http://localhost/v1/deploy_templates/56e254ad-f4c7-4c60-aeda-7d9ff983236a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/56e254ad-f4c7-4c60-aeda-7d9ff983236a', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'e9a1612c-024e-4de2-8cc5-ad5b5df9cbcc', 'links': [{'href': 'http://localhost/v1/deploy_templates/e9a1612c-024e-4de2-8cc5-ad5b5df9cbcc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e9a1612c-024e-4de2-8cc5-ad5b5df9cbcc', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'cd113efd-6ee8-4696-b285-3308ce9151cf', 'links': [{'href': 'http://localhost/v1/deploy_templates/cd113efd-6ee8-4696-b285-3308ce9151cf', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cd113efd-6ee8-4696-b285-3308ce9151cf', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates/d6b39d33-3044-45fb-91a5-0e3d540616a5?fields=name,steps {} GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d6b39d33-3044-45fb-91a5-0e3d540616a5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d6b39d33-3044-45fb-91a5-0e3d540616a5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': 'a5308069-5772-4b4e-81a8-e32b3f13b624', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/a5308069-5772-4b4e-81a8-e32b3f13b624', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a5308069-5772-4b4e-81a8-e32b3f13b624', 'rel': 'bookmark'}]}, {'uuid': 'd6b052f8-5852-4f93-bff3-c995da393259', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d6b052f8-5852-4f93-bff3-c995da393259', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d6b052f8-5852-4f93-bff3-c995da393259', 'rel': 'bookmark'}]}, {'uuid': 'f4b3fc6c-d2c7-428f-8866-6ecdfc954d03', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/f4b3fc6c-d2c7-428f-8866-6ecdfc954d03', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f4b3fc6c-d2c7-428f-8866-6ecdfc954d03', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/0984f558-8d67-4e53-ab1e-9285271cf118 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e95b5317-c1c0-4eb6-ae81-419c674f1b3c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/cd6835f8-73f5-4d54-8c68-6268021f67c4 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42f8be26-1256-4010-968a-1409d519b604 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "cd6835f8-73f5-4d54-8c68-6268021f67c4", "created_at": "2024-03-06T09:35:19.768960+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cd6835f8-73f5-4d54-8c68-6268021f67c4", "rel": "self"}, {"href": "http://localhost/deploy_templates/cd6835f8-73f5-4d54-8c68-6268021f67c4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.060587s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.064852s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.136320s] ... ok GOT:{'protected': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.658438+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-03-06T09:35:19.658438+00:00', 'updated_at': None, 'clean_step': {'foo': 'bar'}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.758034+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-03-06T09:35:19.758034+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/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.807730+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.091127s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.043661s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.188032s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.043950s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.074260s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.033795s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.056817s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.072845s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.040376s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.078962s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.113457s] ... ok PATCH: /v1/deploy_templates/1ac9b478-b9bc-4dca-a22e-2b789617835a [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ab832b5-55b3-4ac9-a812-b55438ad2c1d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/e7677614-56fa-4348-9e54-e2ad2d85c6d3 [{'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-f6333921-764a-484c-9a37-751d67243ad7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e7677614-56fa-4348-9e54-e2ad2d85c6d3", "created_at": "2024-03-06T09:35:19.365884+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e7677614-56fa-4348-9e54-e2ad2d85c6d3", "rel": "self"}, {"href": "http://localhost/deploy_templates/e7677614-56fa-4348-9e54-e2ad2d85c6d3", "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/11aee91a-5ce9-4779-aa1d-7e2e1f0335ed [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4944b78-f472-4b2e-9250-5491630420b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/db165abc-4f14-4b55-8b4a-54182306da61 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fee3d0d-f467-4f0a-a746-c73411cc648c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "db165abc-4f14-4b55-8b4a-54182306da61", "created_at": "2024-03-06T09:35:19.535592+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/db165abc-4f14-4b55-8b4a-54182306da61", "rel": "self"}, {"href": "http://localhost/deploy_templates/db165abc-4f14-4b55-8b4a-54182306da61", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '421db500-37f4-4e08-8153-4e4366fbcfc4', '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/421db500-37f4-4e08-8153-4e4366fbcfc4 Openstack-Request-Id: req-6d6eeb05-ed6c-42db-8b70-9c5a9d244156 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "421db500-37f4-4e08-8153-4e4366fbcfc4", "created_at": "2024-03-06T09:35:19.589648+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/421db500-37f4-4e08-8153-4e4366fbcfc4", "rel": "self"}, {"href": "http://localhost/deploy_templates/421db500-37f4-4e08-8153-4e4366fbcfc4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/421db500-37f4-4e08-8153-4e4366fbcfc4 {} GOT:{'uuid': '421db500-37f4-4e08-8153-4e4366fbcfc4', 'created_at': '2024-03-06T09:35:19.589648+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/421db500-37f4-4e08-8153-4e4366fbcfc4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/421db500-37f4-4e08-8153-4e4366fbcfc4', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ac1e6635-1af4-46d4-8ce8-206f72c8e9d7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} POST: /v1/deploy_templates {'name': 42, 'uuid': '99471c4d-0d09-42d6-861f-52c8ae5679ca', '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-fac1aa91-0ce8-45be-ac56-d8eba585c0e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': None, 'uuid': 'cf84b3cc-7b21-4e2c-a6d6-0e8b527f2952', '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-8638cc0b-35f0-448b-8be6-cc3323ca359d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'fa3b78a7-78ad-410c-a5d0-08119f9a3bc5', '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-0c928bf6-2948-4ab9-b67a-78ae97a1903c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5a829fa0-bc44-443b-b226-c4926ef65efc', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-784493a9-b3ae-415a-8dcd-d01acb2b24da X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.035972s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.033001s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.037605s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.028008s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.807730+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-03-06T09:35:19.893067+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:19.893067+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?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8503f925-ae89-44f6-a34b-48769a1ff3cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-87b35852-09f7-4d75-ab06-18701c983ef3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.057171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.078353s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.031892s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.104519s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.024679s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.039495s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.023565s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.088854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.230619s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.028926s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.031301s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.071503+00:00', 'updated_at': None, 'automated_clean': False, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.128459+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.128459+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?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f968107-1ed4-4a91-a218-27d7d15f6411 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for instance_uuid: fake\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.051777s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.038454s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.030483s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.042559s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.050735s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.041925s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.225442+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-03-06T09:35:20.225442+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.277411+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.076359s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.075330s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.056051s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.067157s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.040351s] ... ok POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4b54c9a4-6ce3-4126-ab56-1f6fd999fb8b', '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-9c5b8dce-3a21-47be-9a50-7dd5be87c4e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f77b0dd1-4368-4220-8505-6e2124d0c636', '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-7e567846-49bf-4106-b2de-06b1452ee89e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '09ddb237-9fdc-44b4-9ef7-b41b507e5746', '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-f669380f-cd2e-4328-bd6c-3326a1426105 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '49a11852-25bf-4db6-a242-2b5837b675d3', '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/49a11852-25bf-4db6-a242-2b5837b675d3 Openstack-Request-Id: req-c1e32a64-e9e5-4356-bf61-20b41c359420 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "49a11852-25bf-4db6-a242-2b5837b675d3", "created_at": "2024-03-06T09:35:20.173953+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/49a11852-25bf-4db6-a242-2b5837b675d3", "rel": "self"}, {"href": "http://localhost/deploy_templates/49a11852-25bf-4db6-a242-2b5837b675d3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'a370eaeb-8430-4fe4-99fb-2dbb9e879bb1', '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-c24bc684-d202-4f8f-bddf-38b195996914 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'uuid': '9786149c-d70b-4dfc-90fb-2045f754aeea', '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-0d10a6a7-e75e-42be-b9ec-9f0cd801e65e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '00794336-db1d-4da3-a5e4-14394d605ade', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e798fdfe-f28c-4944-a3e9-157da6c5fc41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4e953411-32f4-46c0-8d66-af609a43f988 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-75dd3582-1658-42e2-9b7c-4e134da63b78 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60bb24d3-8ce5-4863-bda6-d1f8f714120e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-a37118ef-a5b4-4945-8087-135515fbf6b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.037152s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.087868s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.208132s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.063401s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.056492s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.045931s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.033295s] ... ok PATCH: /v1/deploy_templates/16802926-5b67-4b09-96a7-dfd2d342c309 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e036c64f-f50b-4741-b762-51a3977d9382 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/6ea94dfc-e2d7-4a88-be67-40bf5deffa77 [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1ecca62-9e86-4f02-9331-ccbb01a2ff2d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/6762dc0a-61fb-4dcc-8097-f2ceab41eb42 [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4f4508e1-770e-423f-88e5-846f05e369cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/994bcab1-c41b-4337-814e-0083ed0a79cd [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94894650-d3af-4d23-9f77-f126e1be25a6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/65334cad-08b7-46b0-81cf-949328e790e8 [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c3f0fbc-f1d3-4e01-9de1-1b0edad3be90 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5dee498b-6828-4d42-ba4c-30b714f78d8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "4ecf86ad-896a-4568-9a62-e1c373e286f9", "created_at": "2024-03-06T09:35:20.262644+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4ecf86ad-896a-4568-9a62-e1c373e286f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/4ecf86ad-896a-4568-9a62-e1c373e286f9", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/991669b7-d8c2-4ed9-84e6-80cc32cc56ac [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fdf09ba8-e806-4749-8a30-a9df0ec1b40a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '54c91fb0-aa74-4241-9e70-a135391a4beb', '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/54c91fb0-aa74-4241-9e70-a135391a4beb Openstack-Request-Id: req-4facb3eb-d62c-4229-b5ad-f0aab214187f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "54c91fb0-aa74-4241-9e70-a135391a4beb", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/54c91fb0-aa74-4241-9e70-a135391a4beb", "rel": "self"}, {"href": "http://localhost/deploy_templates/54c91fb0-aa74-4241-9e70-a135391a4beb", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/54c91fb0-aa74-4241-9e70-a135391a4beb {} GOT:{'uuid': '54c91fb0-aa74-4241-9e70-a135391a4beb', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/54c91fb0-aa74-4241-9e70-a135391a4beb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/54c91fb0-aa74-4241-9e70-a135391a4beb', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224 Openstack-Request-Id: req-6b6a174d-fda2-4171-8b5c-d59e8f1852ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "38e943ef-1951-4010-bdfe-91c1b63b7224", "created_at": "2024-03-06T09:35:20.464551+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224", "rel": "self"}, {"href": "http://localhost/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224 {} GOT:{'uuid': '38e943ef-1951-4010-bdfe-91c1b63b7224', 'created_at': '2024-03-06T09:35:20.464551+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/38e943ef-1951-4010-bdfe-91c1b63b7224', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '97348540-ff90-49cc-acc2-60e76cac3b9f', 'steps': [], 'extra': {}} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.076832s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.086683s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.088619s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.254631s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.025252s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.277411+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-03-06T09:35:20.489870+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.654924+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.223056s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.024302s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.025744s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.235550s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.037371s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.108022s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.139410s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.021522s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.023533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.055148s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.041916s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.030998s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.654924+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-03-06T09:35:20.841870+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-03-06T09:35:20.841870+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.055800s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.038832s] ... 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-0c54be51-8371-4210-a1bb-0d0c420d9c92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'd5b149a5-49c1-4152-8875-fda7d523d10c'} GOT:Response: 204 No Content Openstack-Request-Id: req-8239ff6b-1a98-4a22-acf9-ba7281115bbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 POST: /v1/nodes/node-39/vifs {'id': '4b1e80b1-5906-41d2-ab3b-baf8c80e98ed'} GOT:Response: 204 No Content Openstack-Request-Id: req-48ee96be-bd5b-4596-acbf-b37727da85f5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '0fec5d70-7469-469e-bbd7-48682b221e1e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6fc75be8-c0e3-4be3-a1c2-20cfc8bbf600 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '07df2b85-7728-41a3-a87f-1b5c09a02cf9', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d107ee72-d07b-4049-8521-b06c6029ef5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'db1b8a39-d3de-4461-8843-33702d980656', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 204 No Content Openstack-Request-Id: req-dce584bf-e7a3-425b-ad8b-85e24fd2285f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/a92393b2-6062-4d02-b486-2ffdf5682bbd GOT:Response: 204 No Content Openstack-Request-Id: req-8ab0e264-c5e7-4b65-9bc9-ecaf6484e3b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/a8ecde71-1405-4969-8619-cf41f10a7702 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e4e0dcbb-58b2-4d47-921c-1284b0d1b75a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/54c12f96-f3de-4185-9956-07369542ccf7 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90debb27-71ca-4dea-8f48-f7c4a460611b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} GOT:{'bios': [{'created_at': '2024-03-06T09:35:20.169461+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/virtualization {} GOT:{'virtualization': {'created_at': '2024-03-06T09:35:20.327433+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-82e33343-8dfb-4904-a074-a746cbece88d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-1c51d6f8-57e6-4b8f-9704-0df7f462c3a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-5a5f5936-3a57-41e8-938d-fa7cd1ec48f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-96325079-4719-4d3c-b7e6-6d4eb4af4357 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b2295f99-0f32-4eab-82d9-cccc07bc62dd X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ec6d926-38af-4992-94e5-3cfca7838237 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.051670s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.047381s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.040815s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.033345s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.274091s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:20.930252+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-03-06T09:35:20.993636+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/88ec196e-3da3-4244-a993-bd1c16487f08 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.065720s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.041070s] ... ok GOT:{'uuid': '88ec196e-3da3-4244-a993-bd1c16487f08', 'created_at': '2024-03-06T09:35:21.044577+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/88ec196e-3da3-4244-a993-bd1c16487f08', 'rel': 'self'}, {'href': 'http://localhost/nodes/88ec196e-3da3-4244-a993-bd1c16487f08', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/88ec196e-3da3-4244-a993-bd1c16487f08/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.100625+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.113321s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79b5fe66-28a6-4021-bd62-53825dfa06c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6881a76c-0a33-42e1-86e1-f175c749bf36', '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-172251eb-9734-42e1-9e75-31f8f529e484 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null' Failed validating 'type' in schema['properties']['extra']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '36f936bd-401b-4374-b09b-fbaece15a746', '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-0c3e6162-8b4d-430d-b0b6-02c91ab261dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '81d77dda-f259-4a60-ad4b-3885330fa34b', '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-2e372a63-e0fe-4e8a-889a-88dcc27f8f36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0 Failed validating 'minimum' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': 'd3a5dd47-7265-4c59-ac47-c277af09e23f', '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-25b191f9-f484-4c88-af91-3853da194aea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ba0c6799-6a81-4818-9cb7-1f98923414b3', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad4b3e07-3e23-44a1-91a8-34952c387d8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b161f65d-1c4b-4c6d-8051-1dee1f3ae094', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6fd0373a-11f9-4c0b-b720-6ebe3d0120d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '58000626-c760-4465-abf6-25248b6ad3dd', '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-2441051c-cb7b-479a-9168-34cfafb8a176 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/test/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'}]} DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-ebbdaa50-f977-4e74-bb01-5760789c6adc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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 {} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.065362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.045972s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.039761s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.015961s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.022161s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.024784s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.061732s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.057119s] ... ok GOT:{'nodes': [{'uuid': '6613062d-ce13-4bfd-a91c-8c84f0c8eeb1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6613062d-ce13-4bfd-a91c-8c84f0c8eeb1', 'rel': 'self'}, {'href': 'http://localhost/nodes/6613062d-ce13-4bfd-a91c-8c84f0c8eeb1', 'rel': 'bookmark'}]}, {'uuid': '7d4c00da-6ef2-467f-9d6a-72ff6f3d93e7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7d4c00da-6ef2-467f-9d6a-72ff6f3d93e7', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d4c00da-6ef2-467f-9d6a-72ff6f3d93e7', 'rel': 'bookmark'}]}, {'uuid': 'a817f94d-1a01-4bf4-a0ed-a2cf42fc0e71', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a817f94d-1a01-4bf4-a0ed-a2cf42fc0e71', 'rel': 'self'}, {'href': 'http://localhost/nodes/a817f94d-1a01-4bf4-a0ed-a2cf42fc0e71', '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=a817f94d-1a01-4bf4-a0ed-a2cf42fc0e71'} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.010997+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': '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-ddec9f5b-c808-47c2-86d3-7281f9fbb5dd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c5bb06f-01c7-4732-b329-548622cf95eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail?sort_key=resource_class {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.095846s] ... ok GOT:{'nodes': [{'uuid': '8d3e7e4e-3602-4102-8917-2a2ebf504c43', 'created_at': '2024-03-06T09:35:21.147426+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/8d3e7e4e-3602-4102-8917-2a2ebf504c43', 'rel': 'self'}, {'href': 'http://localhost/nodes/8d3e7e4e-3602-4102-8917-2a2ebf504c43', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8d3e7e4e-3602-4102-8917-2a2ebf504c43/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8d3e7e4e-3602-4102-8917-2a2ebf504c43/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8d3e7e4e-3602-4102-8917-2a2ebf504c43/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8d3e7e4e-3602-4102-8917-2a2ebf504c43/states', 'rel': 'bookmark'}]}, {'uuid': '9eb0b389-deaf-4386-9dd5-5c95c734dd5c', 'created_at': '2024-03-06T09:35:21.145132+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/9eb0b389-deaf-4386-9dd5-5c95c734dd5c', 'rel': 'self'}, {'href': 'http://localhost/nodes/9eb0b389-deaf-4386-9dd5-5c95c734dd5c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9eb0b389-deaf-4386-9dd5-5c95c734dd5c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9eb0b389-deaf-4386-9dd5-5c95c734dd5c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9eb0b389-deaf-4386-9dd5-5c95c734dd5c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9eb0b389-deaf-4386-9dd5-5c95c734dd5c/states', 'rel': 'bookmark'}]}, {'uuid': 'be4dad06-3090-45bf-97f3-cbed32820ec1', 'created_at': '2024-03-06T09:35:21.141945+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/be4dad06-3090-45bf-97f3-cbed32820ec1', 'rel': 'self'}, {'href': 'http://localhost/nodes/be4dad06-3090-45bf-97f3-cbed32820ec1', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/be4dad06-3090-45bf-97f3-cbed32820ec1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/be4dad06-3090-45bf-97f3-cbed32820ec1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/be4dad06-3090-45bf-97f3-cbed32820ec1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/be4dad06-3090-45bf-97f3-cbed32820ec1/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?associated=true {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.088311s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.084754s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.207141s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.029492s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.055504s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.027172s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.091581s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.034150s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.115469s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.251005s] ... ok GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?detail=True {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['iscsi', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_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_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers/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 {} 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'}]} 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-7dbb7e16-258c-4ea7-a961-b57f4c49aabb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6644ab69-afd6-438f-bf88-218d4d06a00a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"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-84ef0a79-c1a1-4f6b-8ba0-f7c8f8d82dc8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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-78c94983-7c84-43e9-b04c-e5aa61ea021f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-0a20de85-dc08-4cd5-9953-a623394e091f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 POST: /v1/nodes/doesntexist/vifs {'id': 'ff193bd8-4154-4412-8480-dd6bf11d448b'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.037558s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.038079s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.026988s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.017026s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.016792s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.036627s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.075258s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.041193s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.063272s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.143578s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.058860s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.106963s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.082369s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.130030s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4836b6a8-66cf-4347-b3f1-d90353eced5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'iscsi']} 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/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'} 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-e5c5a116-283f-47c6-97a3-149c31963b77 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-6c10d0a3-a72d-4e3d-8f83-c1798376ad91 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbf0dce9-1101-4ce2-a9e6-c4439037682a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1c33250e-7e49-4ccf-9ae8-080f8326abc2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.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-7f1e4cf2-0744-423b-8c24-68312568eafc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 POST: /v1/events {'events': [{'event': 'invalid.event'}]} {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.086441s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.096802s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.039488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.036370s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.166837+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-03-06T09:35:21.166837+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-03-06T09:35:21.260337+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/eggs/states {} GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.152259s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.090056s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-786434c7-5fd8-476c-8827-2fb355d76d36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-31894b8a-21d1-4963-9928-10c99d115b30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-fad7b302-d3fc-4959-8a71-7c08bae5559e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83f2fba2-78a9-48a5-bf18-d3f5578eca4a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid associated: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes?associated=true {} GOT:{'nodes': [{'uuid': 'fe7363cf-a14a-4b37-8143-0f432c8d8765', 'instance_uuid': '3679ddba-ebf7-470c-b9ed-89a408029997', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fe7363cf-a14a-4b37-8143-0f432c8d8765', 'rel': 'self'}, {'href': 'http://localhost/nodes/fe7363cf-a14a-4b37-8143-0f432c8d8765', 'rel': 'bookmark'}]}, {'uuid': '1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'instance_uuid': '0c3a060d-e4f1-4eb6-8099-725bd9eb9c60', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'rel': 'bookmark'}]}, {'uuid': '00c36b98-951c-450b-9204-1ef4e160fffe', 'instance_uuid': 'd4ffa009-3c41-482e-b447-7bad0e958fd2', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/00c36b98-951c-450b-9204-1ef4e160fffe', 'rel': 'self'}, {'href': 'http://localhost/nodes/00c36b98-951c-450b-9204-1ef4e160fffe', 'rel': 'bookmark'}]}, {'uuid': '718c8068-a529-4a3d-b417-73cf0a14fec2', 'instance_uuid': '648208a8-e653-421e-8bc5-494a48430c86', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/718c8068-a529-4a3d-b417-73cf0a14fec2', 'rel': 'self'}, {'href': 'http://localhost/nodes/718c8068-a529-4a3d-b417-73cf0a14fec2', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': 'fe7363cf-a14a-4b37-8143-0f432c8d8765', 'instance_uuid': '3679ddba-ebf7-470c-b9ed-89a408029997', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fe7363cf-a14a-4b37-8143-0f432c8d8765', 'rel': 'self'}, {'href': 'http://localhost/nodes/fe7363cf-a14a-4b37-8143-0f432c8d8765', 'rel': 'bookmark'}]}, {'uuid': '1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'instance_uuid': '0c3a060d-e4f1-4eb6-8099-725bd9eb9c60', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e5cdee1-d87f-4718-968b-14bd8addb6ea', 'rel': 'bookmark'}]}, {'uuid': '00c36b98-951c-450b-9204-1ef4e160fffe', 'instance_uuid': 'd4ffa009-3c41-482e-b447-7bad0e958fd2', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/00c36b98-951c-450b-9204-1ef4e160fffe', 'rel': 'self'}, {'href': 'http://localhost/nodes/00c36b98-951c-450b-9204-1ef4e160fffe', 'rel': 'bookmark'}]}, {'uuid': '718c8068-a529-4a3d-b417-73cf0a14fec2', 'instance_uuid': '648208a8-e653-421e-8bc5-494a48430c86', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/718c8068-a529-4a3d-b417-73cf0a14fec2', 'rel': 'self'}, {'href': 'http://localhost/nodes/718c8068-a529-4a3d-b417-73cf0a14fec2', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.765415+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': '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, '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 {} 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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.044750s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.068448s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.062700s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.028636s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.141652s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.036994s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.248353s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.034376s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.034320s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.123343s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.103299s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.098507s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.041172s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.652455+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-03-06T09:35:21.652455+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.954035+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-03-06T09:35:21.954035+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/portgroups {} GOT:{'portgroups': [{'uuid': 'dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'rel': 'bookmark'}]}, {'uuid': 'cc7c94e2-a5b0-4a61-9eb0-215fbddeb865', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/cc7c94e2-a5b0-4a61-9eb0-215fbddeb865', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cc7c94e2-a5b0-4a61-9eb0-215fbddeb865', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.161320s] ... ok GOT:{'nodes': [{'uuid': 'f0345dc5-25eb-4d17-9ca5-448c6450c0f4', 'created_at': '2024-03-06T09:35:21.243272+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': '51a8b040-ad42-446d-81f2-f5b9dd227f2c', '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/f0345dc5-25eb-4d17-9ca5-448c6450c0f4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0345dc5-25eb-4d17-9ca5-448c6450c0f4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f0345dc5-25eb-4d17-9ca5-448c6450c0f4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0345dc5-25eb-4d17-9ca5-448c6450c0f4/ports', 'rel': 'bookmark'}]}, {'uuid': '0886cd62-cbc3-40f7-b49d-712c7ef1f83b', 'created_at': '2024-03-06T09:35:21.250282+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': '0954f9f2-aaf1-4ccd-a798-0422c137b660', '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/0886cd62-cbc3-40f7-b49d-712c7ef1f83b', 'rel': 'self'}, {'href': 'http://localhost/nodes/0886cd62-cbc3-40f7-b49d-712c7ef1f83b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0886cd62-cbc3-40f7-b49d-712c7ef1f83b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0886cd62-cbc3-40f7-b49d-712c7ef1f83b/ports', 'rel': 'bookmark'}]}, {'uuid': 'd750aa76-2a3f-4a2a-848d-f63d2d1cb792', 'created_at': '2024-03-06T09:35:21.258451+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': '64592b9d-b323-4dcc-b6cf-cb5779a380f3', '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/d750aa76-2a3f-4a2a-848d-f63d2d1cb792', 'rel': 'self'}, {'href': 'http://localhost/nodes/d750aa76-2a3f-4a2a-848d-f63d2d1cb792', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d750aa76-2a3f-4a2a-848d-f63d2d1cb792/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d750aa76-2a3f-4a2a-848d-f63d2d1cb792/ports', 'rel': 'bookmark'}]}, {'uuid': '1a935f51-5bc6-4db0-adf9-5a0e57c5aa40', 'created_at': '2024-03-06T09:35:21.261390+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': 'c6e112c9-fe43-4e1c-ac11-1b684a4e1810', '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/1a935f51-5bc6-4db0-adf9-5a0e57c5aa40', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a935f51-5bc6-4db0-adf9-5a0e57c5aa40', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1a935f51-5bc6-4db0-adf9-5a0e57c5aa40/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a935f51-5bc6-4db0-adf9-5a0e57c5aa40/ports', '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,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67ea092f-9c61-417f-96ff-cd2c93e832c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21120ec9-12fe-44f5-aea3-01e87835dc7b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d13dfc6c-a55f-4fcb-a270-259ddd76d2d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7e07881a-0908-4533-b920-833f7947f124 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-ec60d784-d997-40f3-ab3f-321916c46f32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b2f88a97-fb8b-4f81-891d-32016325571f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} GET: /v1/nodes?description_contains=cat {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.115349s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.103058s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.139319s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.049628s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.012760s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.055112s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.343787s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.033490s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.037815s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.024561s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.274800s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.040785s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.050536s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.134800s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.083937s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.056818s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.102006s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.039865s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.075541s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.051657s] ... 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:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:21.895987+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': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-479eacec-9da6-4356-9343-516e2e3ddff6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/nodes/spam/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cd8dbbfd-c218-4d7d-8bbe-5ec88ca83f16 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cff89368-45a7-48b4-aa26-4b1ca34f083c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?fault=power failure {} GOT:{'nodes': [{'uuid': '71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': 'a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.104896s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.030545s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.093358s] ... ok GOT:{'nodes': [{'uuid': '221a6436-a3d3-4c1c-bfdb-88e34ded8fa1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/221a6436-a3d3-4c1c-bfdb-88e34ded8fa1', 'rel': 'self'}, {'href': 'http://localhost/nodes/221a6436-a3d3-4c1c-bfdb-88e34ded8fa1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} GOT:{'nodes': [{'uuid': 'bd7bdfaa-f1ad-4f3b-8e6b-bd92679f9977', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/bd7bdfaa-f1ad-4f3b-8e6b-bd92679f9977', 'rel': 'self'}, {'href': 'http://localhost/nodes/bd7bdfaa-f1ad-4f3b-8e6b-bd92679f9977', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=ipmi {} GOT:{'nodes': [{'uuid': 'f5c3fc23-9833-46d6-a361-8c3c879a7ed8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f5c3fc23-9833-46d6-a361-8c3c879a7ed8', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5c3fc23-9833-46d6-a361-8c3c879a7ed8', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': 'b9192594-a1ba-45a6-8d89-79d877ed72ec', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b9192594-a1ba-45a6-8d89-79d877ed72ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9192594-a1ba-45a6-8d89-79d877ed72ec', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-92e33811-ecdf-4c7f-8bec-e0f3c0593c00 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-425884de-1fcb-4ca1-9019-96d42f3a4714 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-532cd9d8-9d93-45a0-810a-ef972c3ce92d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} GET: /v1/nodes?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes/detail?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?owner=fred {} GOT:{'nodes': [{'uuid': '6a8abf5c-577a-415d-941b-69eedda53323', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6a8abf5c-577a-415d-941b-69eedda53323', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': 'd8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} GOT:{'nodes': [{'uuid': '6a8abf5c-577a-415d-941b-69eedda53323', 'created_at': '2024-03-06T09:35:22.654151+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/6a8abf5c-577a-415d-941b-69eedda53323', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6a8abf5c-577a-415d-941b-69eedda53323/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6a8abf5c-577a-415d-941b-69eedda53323/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6a8abf5c-577a-415d-941b-69eedda53323/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6a8abf5c-577a-415d-941b-69eedda53323/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a8abf5c-577a-415d-941b-69eedda53323/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=bob {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.134469s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.060905s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.066718s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.096494s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.105112s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.140819s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.577735s] ... ok GOT:{'nodes': [{'uuid': 'd8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'created_at': '2024-03-06T09:35:22.656855+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/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8f9f69a-4c3b-43ba-b5fb-4e323c96c6f6/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e344b3bf-ef75-4539-bc14-65d086795459 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=foo {} GOT:{'nodes': [{'uuid': '0a4b68f3-d44e-48a6-bdc9-ae36f24164af', 'created_at': '2024-03-06T09:35:22.831146+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/0a4b68f3-d44e-48a6-bdc9-ae36f24164af', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a4b68f3-d44e-48a6-bdc9-ae36f24164af', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0a4b68f3-d44e-48a6-bdc9-ae36f24164af/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a4b68f3-d44e-48a6-bdc9-ae36f24164af/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0a4b68f3-d44e-48a6-bdc9-ae36f24164af/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a4b68f3-d44e-48a6-bdc9-ae36f24164af/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': 'cf80ee09-f847-4e0a-9502-24e542dabb5b', 'created_at': '2024-03-06T09:35:22.833747+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/cf80ee09-f847-4e0a-9502-24e542dabb5b', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf80ee09-f847-4e0a-9502-24e542dabb5b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cf80ee09-f847-4e0a-9502-24e542dabb5b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf80ee09-f847-4e0a-9502-24e542dabb5b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cf80ee09-f847-4e0a-9502-24e542dabb5b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf80ee09-f847-4e0a-9502-24e542dabb5b/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/test.1 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.057909s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.044255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.061751s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.146925s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.041536s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.036106s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.041932s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a3d20ad1-f257-4b19-8440-793d58afe13d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5cd7703a-06db-4821-86e6-0be576de55c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d15d940b-febd-49d2-83e9-71081c831635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-f46ebdfa-89d2-46d7-9312-3c59f0b043aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/nodes/node-39/vifs {'id': '80867b55-8611-4a67-8a29-afc390d7f2eb'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-56a28d9a-7020-4d6b-8083-fbaf9a476b39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'db9e3c91-8393-49b0-be89-fa0cef0ce267'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ad0b8d9b-3829-4807-8c85-9c021daf685d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/node-39/vifs/043b0cd9-a92b-492c-9560-72ab6e1a4fa6 GOT:Response: 204 No Content Openstack-Request-Id: req-4dd52d40-30f4-499f-9526-ca316fca0c2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: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-4d2f971e-84fb-4a1b-9863-2edaf3728001 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-cb2caca3-1f26-4556-9938-c445ad0d90dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a83e207-fa74-482d-9cbd-9d591a1d440e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff02094e-e42b-41fc-a59e-0422537b3406 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b07523b3-8bd6-4196-b3bf-e81f02dd048e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d699912a-4a54-4048-b7dd-748519723bab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} GET: /v1/nodes?instance_uuid=cd5db5b6-fc62-41f5-8445-b52cc8eb7e50 {} GOT:{'nodes': [{'uuid': '1ff40379-64a7-4819-a2ba-c02824ebb901', 'instance_uuid': 'cd5db5b6-fc62-41f5-8445-b52cc8eb7e50', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1ff40379-64a7-4819-a2ba-c02824ebb901', 'rel': 'self'}, {'href': 'http://localhost/nodes/1ff40379-64a7-4819-a2ba-c02824ebb901', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.059220s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.058410s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.050494s] ... ok GOT:{'nodes': [{'uuid': '71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'created_at': '2024-03-06T09:35:22.675265+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/71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/71dc2346-0adc-4fb2-b9c7-8c5557598f87/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=clean failure {} GOT:{'nodes': [{'uuid': 'a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'created_at': '2024-03-06T09:35:22.687698+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/a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd9081-7e0d-4ce0-9da1-79acda8a9100/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21651ca0-2941-4e9f-ba1a-52b957dc449b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-62589d83-d399-4003-8f7b-f2fb20bdabb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84dd5018-43dc-4de8-9afb-ddd7ca9f0cb4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.133635s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.104147s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:22.898823+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': '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, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner {} GOT:{'owner': 'fred', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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:{'storage_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:{'traits': [], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'allocation_uuid': 'ff379d83-af32-40bf-a53e-47cb926528e3'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.227409+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.049512s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.045629s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.031352s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.074808s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.036273s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.055729s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.289854s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.227409+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': 'useful piece', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.275253+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-03-06T09:35:23.275253+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'foo': 'bar'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.318235+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.057707s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.060295s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.064164s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.187256s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.255284s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.293741s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.081172s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.047053s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.318235+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/01a5864e-1785-458f-b0f5-5136cecb67a4 {} GOT:{'uuid': '01a5864e-1785-458f-b0f5-5136cecb67a4', 'created_at': '2024-03-06T09:35:23.379262+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/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4 {} GOT:{'uuid': '01a5864e-1785-458f-b0f5-5136cecb67a4', 'created_at': '2024-03-06T09:35:23.379262+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/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'bookmark'}]} GET: /nodes/01a5864e-1785-458f-b0f5-5136cecb67a4 {} GOT:{'uuid': '01a5864e-1785-458f-b0f5-5136cecb67a4', 'created_at': '2024-03-06T09:35:23.379262+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/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/01a5864e-1785-458f-b0f5-5136cecb67a4/ports', 'rel': 'bookmark'}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'a65e4713-8e04-4685-8808-f4a56325ef23', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a65e4713-8e04-4685-8808-f4a56325ef23', 'rel': 'self'}, {'href': 'http://localhost/nodes/a65e4713-8e04-4685-8808-f4a56325ef23', 'rel': 'bookmark'}]}, {'uuid': 'cc6aa223-51c1-4022-832e-8a326a345552', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cc6aa223-51c1-4022-832e-8a326a345552', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc6aa223-51c1-4022-832e-8a326a345552', 'rel': 'bookmark'}]}, {'uuid': 'ea5c0b89-caa7-4a69-9789-717ef938ae52', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ea5c0b89-caa7-4a69-9789-717ef938ae52', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea5c0b89-caa7-4a69-9789-717ef938ae52', 'rel': 'bookmark'}]}, {'uuid': 'f24dece6-2c6c-4484-b72e-5fb85f74cc20', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f24dece6-2c6c-4484-b72e-5fb85f74cc20', 'rel': 'self'}, {'href': 'http://localhost/nodes/f24dece6-2c6c-4484-b72e-5fb85f74cc20', 'rel': 'bookmark'}]}, {'uuid': '3a8b0bed-a996-4726-9a11-9552ca75fa47', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3a8b0bed-a996-4726-9a11-9552ca75fa47', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a8b0bed-a996-4726-9a11-9552ca75fa47', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?limit=3&associated=true {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.063408s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.041164s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.045838s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.069290s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.111071+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': '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/node.json.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.189099+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': '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, '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/node.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.285148+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': '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, '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/spam/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.038257s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.048888s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.076570s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.082990s] ... ok GOT:{'nodes': [{'uuid': '99f77ba8-157d-499a-8740-91ac0364369b', 'created_at': '2024-03-06T09:35:23.519655+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': 'd0efbc1e-1999-4708-b511-57f8f04b2777', '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/99f77ba8-157d-499a-8740-91ac0364369b', 'rel': 'self'}, {'href': 'http://localhost/nodes/99f77ba8-157d-499a-8740-91ac0364369b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/99f77ba8-157d-499a-8740-91ac0364369b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/99f77ba8-157d-499a-8740-91ac0364369b/ports', 'rel': 'bookmark'}]}, {'uuid': 'c6843668-e2a2-44b9-8f85-ed886d885674', 'created_at': '2024-03-06T09:35:23.521883+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': '4fbb027e-c649-4496-a643-16e72a488f47', '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/c6843668-e2a2-44b9-8f85-ed886d885674', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6843668-e2a2-44b9-8f85-ed886d885674', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c6843668-e2a2-44b9-8f85-ed886d885674/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6843668-e2a2-44b9-8f85-ed886d885674/ports', 'rel': 'bookmark'}]}, {'uuid': '9c1e858b-9baf-4e70-b1a0-79ba3ef1a902', 'created_at': '2024-03-06T09:35:23.524111+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': 'e974c0ec-5654-4f69-9d37-de4219f58f41', '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/9c1e858b-9baf-4e70-b1a0-79ba3ef1a902', 'rel': 'self'}, {'href': 'http://localhost/nodes/9c1e858b-9baf-4e70-b1a0-79ba3ef1a902', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9c1e858b-9baf-4e70-b1a0-79ba3ef1a902/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9c1e858b-9baf-4e70-b1a0-79ba3ef1a902/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=9c1e858b-9baf-4e70-b1a0-79ba3ef1a902'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.570953+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.040108s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.075844+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': '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, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5160fe06-dff5-46c2-93d5-917b05bdaeaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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:{'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean {} GOT:{'automated_clean': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} 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': '4810d373-2ec7-429d-bd04-337f9e6cd6a3', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '3eebd610-2db6-49e4-a99c-c214f902d752', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/4810d373-2ec7-429d-bd04-337f9e6cd6a3', 'rel': 'self'}, {'href': 'http://localhost/nodes/4810d373-2ec7-429d-bd04-337f9e6cd6a3', 'rel': 'bookmark'}]}, {'uuid': 'e1dfbdb5-c6be-42ee-9ea7-25842129d3f1', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'd84ca27c-2f46-498d-af5c-ed5154806d7a', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/e1dfbdb5-c6be-42ee-9ea7-25842129d3f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1dfbdb5-c6be-42ee-9ea7-25842129d3f1', 'rel': 'bookmark'}]}, {'uuid': 'dada748a-33b4-452d-bbb6-244736491be8', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'cb7a985a-7e8b-4db9-9138-d42aec8f04b1', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/dada748a-33b4-452d-bbb6-244736491be8', 'rel': 'self'}, {'href': 'http://localhost/nodes/dada748a-33b4-452d-bbb6-244736491be8', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee {} GOT:{'lessee': 'some-lucky-project', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes?conductor=rocky.rocks {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '60d79f58-a4e2-423a-9de3-a40a3dc3528e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/60d79f58-a4e2-423a-9de3-a40a3dc3528e', 'rel': 'self'}, {'href': 'http://localhost/nodes/60d79f58-a4e2-423a-9de3-a40a3dc3528e', 'rel': 'bookmark'}]}, {'uuid': '931a6900-f9b3-4468-b112-62e85e12157d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/931a6900-f9b3-4468-b112-62e85e12157d', 'rel': 'self'}, {'href': 'http://localhost/nodes/931a6900-f9b3-4468-b112-62e85e12157d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '931a6900-f9b3-4468-b112-62e85e12157d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/931a6900-f9b3-4468-b112-62e85e12157d', 'rel': 'self'}, {'href': 'http://localhost/nodes/931a6900-f9b3-4468-b112-62e85e12157d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group1 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.087494s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ab5a548-89e8-4b0e-9b62-a208083d0658 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb92f571-0bb4-4989-b9ae-95df92536bdb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.719492+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-03-06T09:35:23.719492+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?maintenance=true {} GOT:{'nodes': [{'uuid': 'c51c814d-7b2c-41b6-a4ff-d1656f93008a', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c51c814d-7b2c-41b6-a4ff-d1656f93008a', 'rel': 'self'}, {'href': 'http://localhost/nodes/c51c814d-7b2c-41b6-a4ff-d1656f93008a', 'rel': 'bookmark'}]}, {'uuid': 'beaa9e65-500a-4cf0-a3aa-f1ea7b5c00f5', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/beaa9e65-500a-4cf0-a3aa-f1ea7b5c00f5', 'rel': 'self'}, {'href': 'http://localhost/nodes/beaa9e65-500a-4cf0-a3aa-f1ea7b5c00f5', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': 'be9c5603-53c9-436d-83bb-29f655139435', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/be9c5603-53c9-436d-83bb-29f655139435', 'rel': 'self'}, {'href': 'http://localhost/nodes/be9c5603-53c9-436d-83bb-29f655139435', 'rel': 'bookmark'}]}, {'uuid': '3053deeb-a834-48d5-aeb0-990204c2bfac', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3053deeb-a834-48d5-aeb0-990204c2bfac', 'rel': 'self'}, {'href': 'http://localhost/nodes/3053deeb-a834-48d5-aeb0-990204c2bfac', 'rel': 'bookmark'}]}, {'uuid': '4a17b5b8-4eee-4a6c-93c9-3b5756300635', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4a17b5b8-4eee-4a6c-93c9-3b5756300635', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a17b5b8-4eee-4a6c-93c9-3b5756300635', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=false {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.141273s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.604709+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-03-06T09:35:23.604709+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/45644eab-d63f-4a55-9dff-5b3a0f8c505f {} GOT:{'uuid': '45644eab-d63f-4a55-9dff-5b3a0f8c505f', 'created_at': '2024-03-06T09:35:23.656237+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/45644eab-d63f-4a55-9dff-5b3a0f8c505f', 'rel': 'self'}, {'href': 'http://localhost/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/45644eab-d63f-4a55-9dff-5b3a0f8c505f/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.080344s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.043038s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.044717s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.036528s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.028766s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.047617s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.030751s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.067108s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.046422s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.035563s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.063332s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.115799s] ... ok GOT:{'nodes': [{'uuid': 'ed11312a-7e38-4340-96ac-6b45edd210b7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': 'e9efb580-3e76-4193-b308-60896dcf86f1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/e9efb580-3e76-4193-b308-60896dcf86f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:{'nodes': [{'uuid': 'ed11312a-7e38-4340-96ac-6b45edd210b7', 'created_at': '2024-03-06T09:35:23.832919+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/ed11312a-7e38-4340-96ac-6b45edd210b7', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed11312a-7e38-4340-96ac-6b45edd210b7/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': 'e9efb580-3e76-4193-b308-60896dcf86f1', 'created_at': '2024-03-06T09:35:23.838841+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/e9efb580-3e76-4193-b308-60896dcf86f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e9efb580-3e76-4193-b308-60896dcf86f1/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project1 {} GOT:{'nodes': [{'uuid': '3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project2 {} GOT:{'nodes': [{'uuid': '56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project1 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.070901s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.029883s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.026666s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.027501s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.045295s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.045179s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.667202s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.038113s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.098957s] ... ok GOT:{'nodes': [{'uuid': '3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'created_at': '2024-03-06T09:35:23.917229+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/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e5aaf56-8dcb-4914-a75c-7a25f9ffc9f1/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project2 {} GOT:{'nodes': [{'uuid': '56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'created_at': '2024-03-06T09:35:23.920169+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/56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/56f3ad1c-759c-44ef-9591-f827f26f8bf6/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d7514f9-0c05-414c-a85e-e6a57a5b995c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-09e20597-9a27-4267-b938-7c37df582903 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-74b407ba-0e9e-44c4-9302-d0bb86f21a61 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3534d094-37fd-460c-b0fb-9aeebac056fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-566292e8-65c1-4c26-858f-f456babe8e17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4e34c7c8-6062-4483-85e6-d26896de9c4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/detail {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.058396s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.079258s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.181990s] ... ok GOT:{'uuid': 'b40af6c2-39e1-4983-8615-0d42e5d4d14b', 'created_at': '2024-03-06T09:35:23.683174+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/b40af6c2-39e1-4983-8615-0d42e5d4d14b', 'rel': 'self'}, {'href': 'http://localhost/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b40af6c2-39e1-4983-8615-0d42e5d4d14b/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 {} 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/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:23.887301+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?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-73738488-88bb-437f-9a1d-17376c4bb2ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?associated=false {} GOT:{'nodes': [{'uuid': '79c1751b-4b5a-461f-9334-9cd9f098accc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/79c1751b-4b5a-461f-9334-9cd9f098accc', 'rel': 'self'}, {'href': 'http://localhost/nodes/79c1751b-4b5a-461f-9334-9cd9f098accc', 'rel': 'bookmark'}]}, {'uuid': '0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'rel': 'bookmark'}]}, {'uuid': 'd1a0846c-a90f-4dd4-8a22-391e11612f7d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d1a0846c-a90f-4dd4-8a22-391e11612f7d', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1a0846c-a90f-4dd4-8a22-391e11612f7d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} GOT:{'nodes': [{'uuid': '79c1751b-4b5a-461f-9334-9cd9f098accc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/79c1751b-4b5a-461f-9334-9cd9f098accc', 'rel': 'self'}, {'href': 'http://localhost/nodes/79c1751b-4b5a-461f-9334-9cd9f098accc', 'rel': 'bookmark'}]}, {'uuid': '0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c14a575-3cd5-4b99-a497-18c7a5c25bc1', 'rel': 'bookmark'}]}, {'uuid': 'd1a0846c-a90f-4dd4-8a22-391e11612f7d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d1a0846c-a90f-4dd4-8a22-391e11612f7d', 'rel': 'self'}, {'href': 'http://localhost/nodes/d1a0846c-a90f-4dd4-8a22-391e11612f7d', 'rel': 'bookmark'}]}]} 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-8b010c0d-fb94-4f86-bc30-1a71752e8506 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.034692s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.042511s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.062390s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.066513s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.065353s] ... ok GOT:{'nodes': [{'uuid': '3731e8be-127e-4141-b004-89f5132d3a12', 'instance_uuid': '477dbae6-e1e1-4c9c-a4dd-e9f91358b34b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3731e8be-127e-4141-b004-89f5132d3a12', 'rel': 'self'}, {'href': 'http://localhost/nodes/3731e8be-127e-4141-b004-89f5132d3a12', 'rel': 'bookmark'}]}, {'uuid': '7196b60e-1f4e-45e2-b64e-083819e82e30', 'instance_uuid': 'be9c73e8-27b7-452b-8468-cb493c927bac', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7196b60e-1f4e-45e2-b64e-083819e82e30', 'rel': 'self'}, {'href': 'http://localhost/nodes/7196b60e-1f4e-45e2-b64e-083819e82e30', 'rel': 'bookmark'}]}, {'uuid': '89c9e42a-47e5-4a9a-ae23-f50d915825d3', 'instance_uuid': '9de1ff93-497f-470f-ab1c-ece53d8c9d60', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/89c9e42a-47e5-4a9a-ae23-f50d915825d3', 'rel': 'self'}, {'href': 'http://localhost/nodes/89c9e42a-47e5-4a9a-ae23-f50d915825d3', 'rel': 'bookmark'}]}, {'uuid': '67bde140-897f-4c2e-9062-97baa4e88757', 'instance_uuid': '97dee55e-a4e7-4823-b81d-3c67ce925d46', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/67bde140-897f-4c2e-9062-97baa4e88757', 'rel': 'self'}, {'href': 'http://localhost/nodes/67bde140-897f-4c2e-9062-97baa4e88757', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '0d181cb6-0284-46ef-b27f-60b4df1c8cbb', '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': '0d181cb6-0284-46ef-b27f-60b4df1c8cbb', 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d799abd5-0b12-4b97-82ab-e626e0d6f5ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-03-06T09:35:24.140270+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-03-06T09:35:24.140270+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': '11d765f7-d49c-488e-bdad-945aebe4531f', 'instance_uuid': '43209465-f638-4bdb-9210-25d13d34d6d0', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/11d765f7-d49c-488e-bdad-945aebe4531f', 'rel': 'self'}, {'href': 'http://localhost/nodes/11d765f7-d49c-488e-bdad-945aebe4531f', 'rel': 'bookmark'}]}, {'uuid': '70a15d2b-2221-4bbe-9c1c-74022c8d5986', 'instance_uuid': '023bbe7a-e939-4f76-a2ac-d9bde957c65e', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/70a15d2b-2221-4bbe-9c1c-74022c8d5986', 'rel': 'self'}, {'href': 'http://localhost/nodes/70a15d2b-2221-4bbe-9c1c-74022c8d5986', 'rel': 'bookmark'}]}, {'uuid': '720f03b4-1301-4a3f-b08e-4714a6f250d9', 'instance_uuid': '2d10fc5e-4082-4c70-8152-94d947c360dd', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/720f03b4-1301-4a3f-b08e-4714a6f250d9', 'rel': 'self'}, {'href': 'http://localhost/nodes/720f03b4-1301-4a3f-b08e-4714a6f250d9', '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=720f03b4-1301-4a3f-b08e-4714a6f250d9'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.109481s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.178397s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.196989s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.203189+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.203189+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-03-06T09:35:24.275601+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-03-06T09:35:24.275601+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-03-06T09:35:24.342432+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.075943s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.079761s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.057047s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.030164s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.342432+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/a55fb48f-4aef-407f-b728-f73d6bbd945c {} GOT:{'uuid': 'a55fb48f-4aef-407f-b728-f73d6bbd945c', 'created_at': '2024-03-06T09:35:24.434259+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/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c {} GOT:{'uuid': 'a55fb48f-4aef-407f-b728-f73d6bbd945c', 'created_at': '2024-03-06T09:35:24.434259+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/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'bookmark'}]} GET: /nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c {} GOT:{'uuid': 'a55fb48f-4aef-407f-b728-f73d6bbd945c', 'created_at': '2024-03-06T09:35:24.434259+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/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a55fb48f-4aef-407f-b728-f73d6bbd945c/ports', 'rel': 'bookmark'}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '1bd00eb0-d1b8-413b-8497-d11185153659', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/1bd00eb0-d1b8-413b-8497-d11185153659', 'rel': 'self'}, {'href': 'http://localhost/nodes/1bd00eb0-d1b8-413b-8497-d11185153659', 'rel': 'bookmark'}]}, {'uuid': 'a16dc865-fcc4-4cbb-bef0-1b713e4a269d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/a16dc865-fcc4-4cbb-bef0-1b713e4a269d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a16dc865-fcc4-4cbb-bef0-1b713e4a269d', 'rel': 'bookmark'}]}, {'uuid': '04bb20b7-d696-4899-bccb-df7dce886468', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/04bb20b7-d696-4899-bccb-df7dce886468', 'rel': 'self'}, {'href': 'http://localhost/nodes/04bb20b7-d696-4899-bccb-df7dce886468', 'rel': 'bookmark'}]}, {'uuid': 'd2ac69f3-0046-497e-8227-c788756b3c38', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/d2ac69f3-0046-497e-8227-c788756b3c38', 'rel': 'self'}, {'href': 'http://localhost/nodes/d2ac69f3-0046-497e-8227-c788756b3c38', 'rel': 'bookmark'}]}, {'uuid': '87df9b2d-87bf-410f-9512-9f733ada9652', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/87df9b2d-87bf-410f-9512-9f733ada9652', 'rel': 'self'}, {'href': 'http://localhost/nodes/87df9b2d-87bf-410f-9512-9f733ada9652', 'rel': 'bookmark'}]}]} GET: /v1/nodes?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c444dbcc-0e78-4bf2-b58d-2d0a92dd416b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.080290s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.044475s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.044214s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.187682s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.413284s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30ef08a0-1dcf-480b-90f1-123cc17c8600 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/8c9f1cd0-cb1d-49fe-be88-eda487893c52 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0e760509-715e-4576-a7c5-067ec0f20abf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8c9f1cd0-cb1d-49fe-be88-eda487893c52 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} PATCH: /v1/nodes/ff3786cd-25ff-4ed8-ba8e-13de588729e0 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8677203f-0980-4d68-99f7-6046093f6164 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ff3786cd-25ff-4ed8-ba8e-13de588729e0", "created_at": "2024-03-06T09:35:24.259481+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/ff3786cd-25ff-4ed8-ba8e-13de588729e0", "rel": "self"}, {"href": "http://localhost/nodes/ff3786cd-25ff-4ed8-ba8e-13de588729e0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ff3786cd-25ff-4ed8-ba8e-13de588729e0/ports", "rel": "self"}, {"href": "http://localhost/nodes/ff3786cd-25ff-4ed8-ba8e-13de588729e0/ports", "rel": "bookmark"}]} 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-5c09c883-ef88-4020-9f3e-6f4304c9324f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-03-06T09:35:24.317275+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-2a6c7c72-5b61-4589-9d28-b12dfa8ff8bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0b25f552-7153-4aa4-a58a-a017506dbdf0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-52f15665-b492-4f18-b52c-ca9e5052568d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21d9b8ce-7b37-4b27-a90a-676725c28e64 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-72db84b4-efd0-483e-8fae-189e13d764b1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f28f4e2f-8b7f-49d4-9c47-05f8ca9dcc6a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/302826b4-a895-46e6-8ffb-39bb51627da2 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '8c24e365-998a-4201-be65-d34c685ca8d2'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.199512s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.073248s] ... ok GOT:{'nodes': [{'uuid': 'dc657b96-fd67-446f-b819-259542b50fb7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/dc657b96-fd67-446f-b819-259542b50fb7', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc657b96-fd67-446f-b819-259542b50fb7', 'rel': 'bookmark'}]}, {'uuid': '1f168eb1-cc34-4462-afee-c96945885981', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1f168eb1-cc34-4462-afee-c96945885981', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f168eb1-cc34-4462-afee-c96945885981', 'rel': 'bookmark'}]}, {'uuid': '00de74ae-fdf5-4d11-b823-4664f7d5ff7d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/00de74ae-fdf5-4d11-b823-4664f7d5ff7d', 'rel': 'self'}, {'href': 'http://localhost/nodes/00de74ae-fdf5-4d11-b823-4664f7d5ff7d', 'rel': 'bookmark'}]}, {'uuid': '80019469-7a0f-443b-8bbe-a6e11ba02306', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/80019469-7a0f-443b-8bbe-a6e11ba02306', 'rel': 'self'}, {'href': 'http://localhost/nodes/80019469-7a0f-443b-8bbe-a6e11ba02306', 'rel': 'bookmark'}]}, {'uuid': '1b023ade-51f1-4f3d-9a97-8645de4dab2d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1b023ade-51f1-4f3d-9a97-8645de4dab2d', 'rel': 'self'}, {'href': 'http://localhost/nodes/1b023ade-51f1-4f3d-9a97-8645de4dab2d', 'rel': 'bookmark'}]}, {'uuid': '3fa3aafa-e853-4487-aec9-956e6a8e2434', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3fa3aafa-e853-4487-aec9-956e6a8e2434', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fa3aafa-e853-4487-aec9-956e6a8e2434', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.661922+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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.661922+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=1475f0fc-e6c6-40f6-98db-9e137f1a810e {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.047903s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.071320s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.215946s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.761826+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-03-06T09:35:24.824064+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-03-06T09:35:24.824064+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.086059s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.304369+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-03-06T09:35:24.417609+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?instance_uuid=067da3c1-4604-426e-b0ef-788bb5cfaa0e {} GOT:{'nodes': [{'uuid': '9216b01c-345d-464b-989c-0672e5db9e2f', 'instance_uuid': '067da3c1-4604-426e-b0ef-788bb5cfaa0e', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9216b01c-345d-464b-989c-0672e5db9e2f', 'rel': 'self'}, {'href': 'http://localhost/nodes/9216b01c-345d-464b-989c-0672e5db9e2f', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.875832+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.164562s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.084763s] ... ok GOT:{'portgroups': [{'uuid': 'dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dfb2657c-4bad-4c03-a3b1-0e5ac265f948', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=dfb2657c-4bad-4c03-a3b1-0e5ac265f948'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:22.332198+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/ports {} GOT:{'ports': [{'uuid': 'c0db9387-e813-4227-915f-775ce1d89aac', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c0db9387-e813-4227-915f-775ce1d89aac', 'rel': 'self'}, {'href': 'http://localhost/ports/c0db9387-e813-4227-915f-775ce1d89aac', 'rel': 'bookmark'}]}, {'uuid': '55d28fe7-9f8b-48b8-a8a4-57d93e7cf91a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/55d28fe7-9f8b-48b8-a8a4-57d93e7cf91a', 'rel': 'self'}, {'href': 'http://localhost/ports/55d28fe7-9f8b-48b8-a8a4-57d93e7cf91a', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{'ports': [{'uuid': 'c0db9387-e813-4227-915f-775ce1d89aac', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c0db9387-e813-4227-915f-775ce1d89aac', 'rel': 'self'}, {'href': 'http://localhost/ports/c0db9387-e813-4227-915f-775ce1d89aac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=c0db9387-e813-4227-915f-775ce1d89aac'} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': '2b020621-e3ad-45e8-ba71-d946dd7cc3aa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2b020621-e3ad-45e8-ba71-d946dd7cc3aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b020621-e3ad-45e8-ba71-d946dd7cc3aa', 'rel': 'bookmark'}]}, {'uuid': '2bb6bb69-eee5-465a-82b6-bd7916f716e8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2bb6bb69-eee5-465a-82b6-bd7916f716e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/2bb6bb69-eee5-465a-82b6-bd7916f716e8', 'rel': 'bookmark'}]}, {'uuid': 'c0b22879-77a0-46a9-bcac-ec81bf0c990a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c0b22879-77a0-46a9-bcac-ec81bf0c990a', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0b22879-77a0-46a9-bcac-ec81bf0c990a', 'rel': 'bookmark'}]}]} 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': 'e70e3143-d9cf-4967-b1d8-d09ac73a3b65', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e70e3143-d9cf-4967-b1d8-d09ac73a3b65', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e70e3143-d9cf-4967-b1d8-d09ac73a3b65', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fa06eb96-33e4-47c7-aaaa-0e97a9e32261', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/fa06eb96-33e4-47c7-aaaa-0e97a9e32261', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fa06eb96-33e4-47c7-aaaa-0e97a9e32261', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': 'e70e3143-d9cf-4967-b1d8-d09ac73a3b65', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e70e3143-d9cf-4967-b1d8-d09ac73a3b65', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e70e3143-d9cf-4967-b1d8-d09ac73a3b65', '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=e70e3143-d9cf-4967-b1d8-d09ac73a3b65'} 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-728f0ff0-443e-4680-ab2b-7a7c9d02eac7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e4a670f5-8755-415f-a6e6-b33b589cd72a [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88e1a05d-1586-460b-a249-f143c12dcdcc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/b38be9bb-ced9-49be-b21b-3f4a057df1c0 [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.203507s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.233723s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.111729s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.920895+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/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95 {} GOT:{'uuid': 'c96cb6b9-e2fc-4cca-a8ad-02a0f347df95', 'created_at': '2024-03-06T09:35:24.967329+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/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95', 'rel': 'self'}, {'href': 'http://localhost/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c96cb6b9-e2fc-4cca-a8ad-02a0f347df95/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba {} GOT:{'uuid': '3ff3d1ed-650b-419b-9775-c02dc28169ba', 'created_at': '2024-03-06T09:35:24.992978+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/3ff3d1ed-650b-419b-9775-c02dc28169ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ff3d1ed-650b-419b-9775-c02dc28169ba/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.125896s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.051520s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.268094s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.069363s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.062701s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:25.082096+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-03-06T09:35:25.082096+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-03-06T09:35:25.247703+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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.155728s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.077288s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:24.875832+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-03-06T09:35:25.040762+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-03-06T09:35:25.040762+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspect wait', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.188526s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.205289s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.054465s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.034206s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.050144s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.177846s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.119366s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.054915s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.025790s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.025248s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:25.208008+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-03-06T09:35:25.208008+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-03-06T09:35:25.501181+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.276488s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.067313s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.028000s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.183485s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c598199c-6c49-4a3c-98da-84a45bccffd9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b38be9bb-ced9-49be-b21b-3f4a057df1c0", "created_at": "2024-03-06T09:35:24.902674+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": "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/b38be9bb-ced9-49be-b21b-3f4a057df1c0", "rel": "self"}, {"href": "http://localhost/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/ports", "rel": "self"}, {"href": "http://localhost/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/states", "rel": "self"}, {"href": "http://localhost/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/volume", "rel": "self"}, {"href": "http://localhost/nodes/b38be9bb-ced9-49be-b21b-3f4a057df1c0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9 [] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bda0866-bd84-47a2-b391-a90746edda3b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ffddbb05-09f7-4851-921e-fd22a8f51ac9", "created_at": "2024-03-06T09:35:25.114854+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": "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/ffddbb05-09f7-4851-921e-fd22a8f51ac9", "rel": "self"}, {"href": "http://localhost/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/ports", "rel": "self"}, {"href": "http://localhost/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/states", "rel": "self"}, {"href": "http://localhost/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/volume", "rel": "self"}, {"href": "http://localhost/nodes/ffddbb05-09f7-4851-921e-fd22a8f51ac9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9ff [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d193c48b-e02c-4d07-9c49-79a76be2d50b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bf93f059-bcf5-4e19-b3f0-6abf746c644d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0b24a058-fe5f-46e7-a12f-65701c9b5a55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f98ae7ed-5d1a-41fc-8546-d41d44afd94c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.233870s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.290092s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:25.247703+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:25.351550+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': '32abfcf9-5404-44a8-a566-1ed6c5a120b3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/32abfcf9-5404-44a8-a566-1ed6c5a120b3', 'rel': 'self'}, {'href': 'http://localhost/nodes/32abfcf9-5404-44a8-a566-1ed6c5a120b3', 'rel': 'bookmark'}]}, {'uuid': 'b44d0c37-514e-4951-93ae-28ba920149b9', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b44d0c37-514e-4951-93ae-28ba920149b9', 'rel': 'self'}, {'href': 'http://localhost/nodes/b44d0c37-514e-4951-93ae-28ba920149b9', '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=b44d0c37-514e-4951-93ae-28ba920149b9'} GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{'targets': [{'uuid': '0f764322-9fe9-41d8-8d84-c7aa5387b033', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0f764322-9fe9-41d8-8d84-c7aa5387b033', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0f764322-9fe9-41d8-8d84-c7aa5387b033', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8b78e5a9-57c1-4285-b199-157bef50351a', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/8b78e5a9-57c1-4285-b199-157bef50351a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8b78e5a9-57c1-4285-b199-157bef50351a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': '0f764322-9fe9-41d8-8d84-c7aa5387b033', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0f764322-9fe9-41d8-8d84-c7aa5387b033', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0f764322-9fe9-41d8-8d84-c7aa5387b033', '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=0f764322-9fe9-41d8-8d84-c7aa5387b033'} GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.140205s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.035712s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.035850s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dec8e423-fa5b-4ac0-8af0-ca26ebee73c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/fa3d67a7-a7cb-4893-b439-a9f625b41bc3 [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1c21d7d-9841-4276-8012-f93565cdde07 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/75d888ec-e627-40ad-9cba-2b8b255bbe29 [{'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-08a8a6fb-90ef-42dd-8324-ef925cabb8d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "75d888ec-e627-40ad-9cba-2b8b255bbe29", "created_at": "2024-03-06T09:35:25.031548+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29", "rel": "self"}, {"href": "http://localhost/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/ports", "rel": "self"}, {"href": "http://localhost/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/states", "rel": "self"}, {"href": "http://localhost/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/volume", "rel": "self"}, {"href": "http://localhost/nodes/75d888ec-e627-40ad-9cba-2b8b255bbe29/volume", "rel": "bookmark"}]} 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-17478155-ee7a-4f37-aa32-357451f22653 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94a15ef3-db87-4277-a91b-49b6a6862b3d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"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-c74c6fb0-ffd6-4659-9d6f-3eb5f250c9ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:25.575206+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/27d92626-93dd-4a4d-9162-0506766c1c96 [{'path': '/storage_interface', 'op': 'remove'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.201102s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.254558s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.047609s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.118324s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.191832s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.041817s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.079018s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.085413s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.039765s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.045630s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.037249s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.064703s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:25.501181+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': '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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0556fab-f482-403d-8dd5-8ab7ca670b1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-74f4b882-b12e-47b5-9f8c-a1891293c6d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=uuid {} GOT:{'nodes': [{'uuid': '1b6333f9-526d-4965-8471-b6275465b69c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1b6333f9-526d-4965-8471-b6275465b69c', 'rel': 'self'}, {'href': 'http://localhost/nodes/1b6333f9-526d-4965-8471-b6275465b69c', 'rel': 'bookmark'}]}, {'uuid': '456cd529-415e-47c2-8a47-edc285151335', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/456cd529-415e-47c2-8a47-edc285151335', 'rel': 'self'}, {'href': 'http://localhost/nodes/456cd529-415e-47c2-8a47-edc285151335', 'rel': 'bookmark'}]}, {'uuid': '9d06c7ae-184f-4f0f-b0a6-e1672e7d48cc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9d06c7ae-184f-4f0f-b0a6-e1672e7d48cc', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d06c7ae-184f-4f0f-b0a6-e1672e7d48cc', 'rel': 'bookmark'}]}]} GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ab06bc3-572e-40ef-a4d8-f0e9fa58e8e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-273b8527-b54e-4f71-ba06-a1567e0760c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aa958074-ba51-41de-8a2c-f616d57cb417 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-76131e01-1d46-4728-8be8-002b0ff3b679 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d0a26fb8-2c50-441d-87b1-d82ca3b0bfb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-620e511c-97ad-49f8-8fd3-8df87947a3fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fa2c10ae-5232-49c4-9d3a-cd2f9c7f1bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.158029s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.035052s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.076932s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.051666s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.099136s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.064004s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62679242-7605-4bd2-8902-600d72f9447d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "27d92626-93dd-4a4d-9162-0506766c1c96", "created_at": "2024-03-06T09:35:25.891489+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": "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/27d92626-93dd-4a4d-9162-0506766c1c96", "rel": "self"}, {"href": "http://localhost/nodes/27d92626-93dd-4a4d-9162-0506766c1c96", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/ports", "rel": "self"}, {"href": "http://localhost/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/states", "rel": "self"}, {"href": "http://localhost/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/volume", "rel": "self"}, {"href": "http://localhost/nodes/27d92626-93dd-4a4d-9162-0506766c1c96/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/b81ddecf-ee9f-47d1-945c-d4eba2da61b3 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ca819965-3df9-40e0-b51e-e8067f0e6189 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e81c00a7-10bd-44ad-bc8c-ca482983e8c9 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e4ac8920-692e-45f9-bfbc-52b1b35c1f44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "e81c00a7-10bd-44ad-bc8c-ca482983e8c9", "created_at": "2024-03-06T09:35:26.084286+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/e81c00a7-10bd-44ad-bc8c-ca482983e8c9", "rel": "self"}, {"href": "http://localhost/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/ports", "rel": "self"}, {"href": "http://localhost/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/states", "rel": "self"}, {"href": "http://localhost/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/volume", "rel": "self"}, {"href": "http://localhost/nodes/e81c00a7-10bd-44ad-bc8c-ca482983e8c9/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.168942s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.063890s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.111463s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.130269s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.156375s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-914908bf-bde4-4deb-ab73-90587da26af1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72cd7c51-122e-4fb7-ac6f-ac5c6270d91a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-d4b5636b-15fe-4e24-bc5b-9c6e7faeaaf1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e10134ac-d102-498c-9aff-336cea04c2c8 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '3476df5c-32cb-4558-93d1-9c673e2c2007'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac81929a-e73e-4701-9c73-695e5524f700 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e942cee6-9e1f-436a-806a-9d4ddd05d569 [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f14e340f-8595-4a8d-b6e3-0badb0195cb8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/f5dd63f8-63f6-46eb-b8bd-4a8e30cc5f79 [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6faa049b-7f72-49f8-961f-d867d5edbdbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc086091-219c-48a2-9d46-34cca97ad44d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.271605+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49d316c3-f777-42d3-a048-68d18e12caf8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.334297+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/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.059700s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.056568s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.057832s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.097046s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.028285s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.084905s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93d8aa9b-e2b7-40e1-baf5-984a830a354d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c", "created_at": "2024-03-06T09:35:26.409590+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": {"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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c", "rel": "self"}, {"href": "http://localhost/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/ports", "rel": "self"}, {"href": "http://localhost/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/states", "rel": "self"}, {"href": "http://localhost/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/volume", "rel": "self"}, {"href": "http://localhost/nodes/8fb2f5e7-c448-4424-b2ce-8ecae94bfb2c/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0 [{'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-5e654b1c-aba2-4ab3-9809-79940a0c9461 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "df3ee26d-0b64-4644-a042-87b5b99cc2e0", "created_at": "2024-03-06T09:35:26.468289+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": {"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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0", "rel": "self"}, {"href": "http://localhost/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/ports", "rel": "self"}, {"href": "http://localhost/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/states", "rel": "self"}, {"href": "http://localhost/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/volume", "rel": "self"}, {"href": "http://localhost/nodes/df3ee26d-0b64-4644-a042-87b5b99cc2e0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e239cc4-c12d-4464-a66d-ca10adb3344c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.060502s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.047111s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.126640s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.079055s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bf338642-155e-4564-a3d8-f85be4e3eae5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aabef337-cd2f-4261-82bb-46414cc02026 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2a6cdf8-5347-4b83-8039-732848e4d74c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f0758a1-4d38-4501-aa06-dc0ab0292c41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54f886eb-3f31-49b5-af91-c750caf8cc2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0f32a1cd-6c72-47fb-ac5d-2c70ddd8199a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-c35b9e8a-063c-4df7-a1cb-63a94d5c5cd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/8a26ebe5-59b1-412f-8f27-63369303ad8e [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50dc562b-c458-4057-a4cd-afb9294e84db X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8a26ebe5-59b1-412f-8f27-63369303ad8e", "created_at": "2024-03-06T09:35:26.335271+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": "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/8a26ebe5-59b1-412f-8f27-63369303ad8e", "rel": "self"}, {"href": "http://localhost/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/states", "rel": "self"}, {"href": "http://localhost/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/volume", "rel": "self"}, {"href": "http://localhost/nodes/8a26ebe5-59b1-412f-8f27-63369303ad8e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.255666s] ... ok PATCH: /v1/nodes/67e8bb45-11ca-4acd-a0c0-c89bafa8a807 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ed7f7f54-2b3a-460d-9717-7ee927648063 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/3fc18e41-bfe6-4eb4-b3ec-b1df36adf4ad [{'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-21ed5960-bc59-4af0-9ac1-45ec083cbeb8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/72fc95b0-289b-492d-9d0f-b345ba989f2e [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dcf14758-384c-4b3a-93d3-9dae4dc3ed72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/044a2b88-7242-48ee-a64f-b01250229a2b [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ecec6876-a66c-4139-9349-2d7f213a718d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/38fd9296-fefc-4672-8da3-d4b1e99b8ae7 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.090171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.094690s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.071059s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.188883s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.066437s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.056565s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.106849s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.394124s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.348765s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c528a966-4af9-4898-9c67-29c04a6823dd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.546618+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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3eb30eda-ee36-4d97-bda2-d3b5a3c5e3dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af8c74ed-2062-4ee4-9b91-40a3733b2f25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.662372+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b72ab004-c580-4531-a9b8-f8dfd7702aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14770238-9aec-4b7a-93ef-b43431eee812 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.804206+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-21e75ad6-d1a0-41f1-967b-a3a13bfabf8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e6ccf71c-2630-4976-bfd8-b22d1684be05 [{'path': '/instance_uuid', 'op': 'remove'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.063269s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.036237s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.066480s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ee02220c-9987-48fe-b91a-3f30c7e4a363 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5a05fb95-e845-4bdb-be45-7b5118a90c74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-842f05c8-0d0a-4e2b-be9b-27fc5de20b85 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:26.492149+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'}]} 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-b4701c3c-2e8c-422c-9e30-d93c010decc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.567980+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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-868e7372-c00f-442a-b9b9-e297e803a7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.662364+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': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28607330-85b2-4093-b5c0-c2c00ab201ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:26.844464+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': ''}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.137529s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.139518s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.197073s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.057615s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.232849s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.069577s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-629e2b1b-54fb-4ac3-84b9-583e70dd2ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e6ccf71c-2630-4976-bfd8-b22d1684be05", "created_at": "2024-03-06T09:35:26.938376+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/e6ccf71c-2630-4976-bfd8-b22d1684be05", "rel": "self"}, {"href": "http://localhost/nodes/e6ccf71c-2630-4976-bfd8-b22d1684be05", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e6ccf71c-2630-4976-bfd8-b22d1684be05/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6ccf71c-2630-4976-bfd8-b22d1684be05/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/d421fbf0-6ff0-436b-9acc-216594e1f7f8 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3badff7d-1c1e-440e-a06f-fe99b36a64ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9ca18e0-7694-40d4-b22f-74b525d59906 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/0952e362-5f14-42be-9646-dee38d4ffc16 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2fe8d5a6-3c1b-4d82-b3ee-d6a9fcf8faa8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "0952e362-5f14-42be-9646-dee38d4ffc16", "created_at": "2024-03-06T09:35:27.157141+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/0952e362-5f14-42be-9646-dee38d4ffc16", "rel": "self"}, {"href": "http://localhost/nodes/0952e362-5f14-42be-9646-dee38d4ffc16", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/ports", "rel": "self"}, {"href": "http://localhost/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/states", "rel": "self"}, {"href": "http://localhost/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/volume", "rel": "self"}, {"href": "http://localhost/nodes/0952e362-5f14-42be-9646-dee38d4ffc16/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7b1b93c9-6656-4015-bf84-4b262e6c7814 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0271e83e-2048-4650-bc8d-1eaf5202d460 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"7b1b93c9-6656-4015-bf84-4b262e6c7814\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.247443s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9133f43c-3f5b-4d0b-b65e-87244a670129 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06c4d0c9-084d-4863-8bde-ced3e30c175c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27e0e01a-bbb1-4409-ba74-413b866990bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "a788f9cc-c5c4-4ffd-8861-e1fa1d94574f", "created_at": "2024-03-06T09:35:26.540222+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/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f", "rel": "self"}, {"href": "http://localhost/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/ports", "rel": "self"}, {"href": "http://localhost/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/states", "rel": "self"}, {"href": "http://localhost/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/volume", "rel": "self"}, {"href": "http://localhost/nodes/a788f9cc-c5c4-4ffd-8861-e1fa1d94574f/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad1a0316-c66d-408e-9af2-a3e7fd560459 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "1dde4cdd-cceb-4183-8a50-99cd895107ce", "created_at": "2024-03-06T09:35:26.732468+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/1dde4cdd-cceb-4183-8a50-99cd895107ce", "rel": "self"}, {"href": "http://localhost/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/states", "rel": "self"}, {"href": "http://localhost/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/1dde4cdd-cceb-4183-8a50-99cd895107ce/volume", "rel": "bookmark"}]} 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-3b919736-bee1-4525-9bda-81653159d980 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/376feede-2bdd-4fc1-8784-1ced4dfd57cf [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7abab88d-6394-4beb-9d85-e71f34cf7992 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "376feede-2bdd-4fc1-8784-1ced4dfd57cf", "created_at": "2024-03-06T09:35:27.314811+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/376feede-2bdd-4fc1-8784-1ced4dfd57cf", "rel": "self"}, {"href": "http://localhost/nodes/376feede-2bdd-4fc1-8784-1ced4dfd57cf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/376feede-2bdd-4fc1-8784-1ced4dfd57cf/ports", "rel": "self"}, {"href": "http://localhost/nodes/376feede-2bdd-4fc1-8784-1ced4dfd57cf/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/36d6878b-c64a-4e8a-b40f-5b0825a53c41 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8352562-8d6a-4223-9edc-ff9dccebb463 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad23988f-3b06-43e4-bd2b-6e298a4de242 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-41cda5ae-785a-4834-8664-380784e2ec6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "38fd9296-fefc-4672-8da3-d4b1e99b8ae7", "created_at": "2024-03-06T09:35:26.649757+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/38fd9296-fefc-4672-8da3-d4b1e99b8ae7", "rel": "self"}, {"href": "http://localhost/nodes/38fd9296-fefc-4672-8da3-d4b1e99b8ae7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38fd9296-fefc-4672-8da3-d4b1e99b8ae7/ports", "rel": "self"}, {"href": "http://localhost/nodes/38fd9296-fefc-4672-8da3-d4b1e99b8ae7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38fd9296-fefc-4672-8da3-d4b1e99b8ae7/states", "rel": "self"}, {"href": "http://localhost/nodes/38fd9296-fefc-4672-8da3-d4b1e99b8ae7/states", "rel": "bookmark"}]} PATCH: /v1/nodes/ed833709-f0f9-4649-a878-2f669b94b436 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f69b1d23-18ad-4f73-9bcf-dd39b1ba9346 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd [{'op': 'remove', 'path': '/retired'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7771fa3a-16c6-45b1-bdae-cdffd231f235 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd", "created_at": "2024-03-06T09:35:27.134324+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/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd", "rel": "self"}, {"href": "http://localhost/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/states", "rel": "self"}, {"href": "http://localhost/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/a01c1ba9-7fae-4cab-bcf7-ba6418fa88cd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6dee8e38-924e-499c-887a-2e96846976a0 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-aaf8b895-f41b-4961-b868-fb6a449ba42f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.319858s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31db917b-88a5-4c4c-aa54-0b6bc3b5cba5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "36d6878b-c64a-4e8a-b40f-5b0825a53c41", "created_at": "2024-03-06T09:35:27.456030+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/36d6878b-c64a-4e8a-b40f-5b0825a53c41", "rel": "self"}, {"href": "http://localhost/nodes/36d6878b-c64a-4e8a-b40f-5b0825a53c41", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/36d6878b-c64a-4e8a-b40f-5b0825a53c41/ports", "rel": "self"}, {"href": "http://localhost/nodes/36d6878b-c64a-4e8a-b40f-5b0825a53c41/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/70fc7a46-a47b-49b0-97c5-286da376485d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5367450-f0e0-4245-9605-9c600f48ffbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "70fc7a46-a47b-49b0-97c5-286da376485d", "created_at": "2024-03-06T09:35:27.488293+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/70fc7a46-a47b-49b0-97c5-286da376485d", "rel": "self"}, {"href": "http://localhost/nodes/70fc7a46-a47b-49b0-97c5-286da376485d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/70fc7a46-a47b-49b0-97c5-286da376485d/ports", "rel": "self"}, {"href": "http://localhost/nodes/70fc7a46-a47b-49b0-97c5-286da376485d/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/0572dd22-8e86-49a1-95c7-119399b2a0ff [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d84a727d-7004-4db3-9b60-ba47ff011665 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "0572dd22-8e86-49a1-95c7-119399b2a0ff", "created_at": "2024-03-06T09:35:27.579791+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/0572dd22-8e86-49a1-95c7-119399b2a0ff", "rel": "self"}, {"href": "http://localhost/nodes/0572dd22-8e86-49a1-95c7-119399b2a0ff", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0572dd22-8e86-49a1-95c7-119399b2a0ff/ports", "rel": "self"}, {"href": "http://localhost/nodes/0572dd22-8e86-49a1-95c7-119399b2a0ff/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/827423d5-40c7-4e57-a405-41c7bb12dbff [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec5a1350-8f96-40fa-aec7-4b769fb506ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "827423d5-40c7-4e57-a405-41c7bb12dbff", "created_at": "2024-03-06T09:35:27.617006+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/827423d5-40c7-4e57-a405-41c7bb12dbff", "rel": "self"}, {"href": "http://localhost/nodes/827423d5-40c7-4e57-a405-41c7bb12dbff", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/827423d5-40c7-4e57-a405-41c7bb12dbff/ports", "rel": "self"}, {"href": "http://localhost/nodes/827423d5-40c7-4e57-a405-41c7bb12dbff/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/305753c2-f20c-45dc-93fe-0fd74e1ba280 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f77cf39-3742-40e5-ad65-918c6ca61e11 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "305753c2-f20c-45dc-93fe-0fd74e1ba280", "created_at": "2024-03-06T09:35:27.647015+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/305753c2-f20c-45dc-93fe-0fd74e1ba280", "rel": "self"}, {"href": "http://localhost/nodes/305753c2-f20c-45dc-93fe-0fd74e1ba280", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/305753c2-f20c-45dc-93fe-0fd74e1ba280/ports", "rel": "self"}, {"href": "http://localhost/nodes/305753c2-f20c-45dc-93fe-0fd74e1ba280/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/7ecb2eea-10ea-47bf-86d1-1f7c14b96563 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.280025s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e36cda84-60da-4011-9646-e2795d9f9c74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:27.430824+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: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-95d3a979-386f-4971-882a-6ceae6c70b34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:27.827767+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.144469s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef35ed35-83f6-4f0e-a655-e3e9c53f4e6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b0d56ff-ec19-4810-b83d-7d5ea47a6111 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.699327s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.886934s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.139907s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-db5c0b69-a13f-4895-b65b-97d7ff1faed2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6eb2c463-93d1-4fa0-9bdf-114f2d4e38e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1700b205-4c8c-4476-9278-626b1e619801 [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fadc976a-1a46-4969-8741-f16f537b77e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1700b205-4c8c-4476-9278-626b1e619801", "created_at": "2024-03-06T09:35:27.406018+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1700b205-4c8c-4476-9278-626b1e619801", "rel": "self"}, {"href": "http://localhost/nodes/1700b205-4c8c-4476-9278-626b1e619801", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1700b205-4c8c-4476-9278-626b1e619801/ports", "rel": "self"}, {"href": "http://localhost/nodes/1700b205-4c8c-4476-9278-626b1e619801/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1700b205-4c8c-4476-9278-626b1e619801/states", "rel": "self"}, {"href": "http://localhost/nodes/1700b205-4c8c-4476-9278-626b1e619801/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1700b205-4c8c-4476-9278-626b1e619801/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1700b205-4c8c-4476-9278-626b1e619801/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1700b205-4c8c-4476-9278-626b1e619801/volume", "rel": "self"}, {"href": "http://localhost/nodes/1700b205-4c8c-4476-9278-626b1e619801/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2 [{'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-d1bb9dbc-92f6-40c6-b06b-d683cf06fd5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "564175d3-1ea2-4c2d-933b-649447cf69c2", "created_at": "2024-03-06T09:35:27.627141+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2", "rel": "self"}, {"href": "http://localhost/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/ports", "rel": "self"}, {"href": "http://localhost/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/states", "rel": "self"}, {"href": "http://localhost/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/volume", "rel": "self"}, {"href": "http://localhost/nodes/564175d3-1ea2-4c2d-933b-649447cf69c2/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.236667s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e31744f-8a73-4cf5-b18b-130cf4910835 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7ecb2eea-10ea-47bf-86d1-1f7c14b96563", "created_at": "2024-03-06T09:35:27.667221+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/7ecb2eea-10ea-47bf-86d1-1f7c14b96563", "rel": "self"}, {"href": "http://localhost/nodes/7ecb2eea-10ea-47bf-86d1-1f7c14b96563", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7ecb2eea-10ea-47bf-86d1-1f7c14b96563/ports", "rel": "self"}, {"href": "http://localhost/nodes/7ecb2eea-10ea-47bf-86d1-1f7c14b96563/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/964f8a8e-3e00-46d2-9426-13989c805e02 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2ca6284-20fb-4a7b-b8d8-638a4119b1bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "964f8a8e-3e00-46d2-9426-13989c805e02", "created_at": "2024-03-06T09:35:27.709750+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/964f8a8e-3e00-46d2-9426-13989c805e02", "rel": "self"}, {"href": "http://localhost/nodes/964f8a8e-3e00-46d2-9426-13989c805e02", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/964f8a8e-3e00-46d2-9426-13989c805e02/ports", "rel": "self"}, {"href": "http://localhost/nodes/964f8a8e-3e00-46d2-9426-13989c805e02/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/f5490c68-d0c4-49b2-a671-901d3dcda101 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef594ae1-77dc-462e-b893-fb95c8b9c1c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f5490c68-d0c4-49b2-a671-901d3dcda101", "created_at": "2024-03-06T09:35:27.781408+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/f5490c68-d0c4-49b2-a671-901d3dcda101", "rel": "self"}, {"href": "http://localhost/nodes/f5490c68-d0c4-49b2-a671-901d3dcda101", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f5490c68-d0c4-49b2-a671-901d3dcda101/ports", "rel": "self"}, {"href": "http://localhost/nodes/f5490c68-d0c4-49b2-a671-901d3dcda101/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/6888b05d-80f1-40f8-bf7f-82a92a6584b5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9778df34-13fa-4df1-a745-bf69773a9540 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "6888b05d-80f1-40f8-bf7f-82a92a6584b5", "created_at": "2024-03-06T09:35:27.889156+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/6888b05d-80f1-40f8-bf7f-82a92a6584b5", "rel": "self"}, {"href": "http://localhost/nodes/6888b05d-80f1-40f8-bf7f-82a92a6584b5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6888b05d-80f1-40f8-bf7f-82a92a6584b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/6888b05d-80f1-40f8-bf7f-82a92a6584b5/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-63dff702-2451-4fdc-8116-e52607001aaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4f813291-84ba-42f8-ba15-1b27065c9a46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6c1dbc5d-6d92-44b2-8768-052372ea0ca6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-70fa37c2-0776-4a3b-985c-0ec30f5a014b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-18fbc870-03b4-4043-87e9-88f0ad895c3a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.057299s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:27.827767+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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': {'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-79c987e4-1552-4205-9bdc-413cd989387a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:27.976197+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-03-06T09:35:27.976197+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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.216854s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d413372-60e9-4201-a25e-e81dae8645df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c761eb8c-0e97-4ad2-9d31-cfbde9bbb500 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c22af54-a2ba-4592-8896-70d9c5507446", "created_at": "2024-03-06T09:35:27.316734+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": "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/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c22af54-a2ba-4592-8896-70d9c5507446/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/34366089-7e7b-461c-9378-da7421a21f19 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.291709s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.286230s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.186442s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.149993s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.181090s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.099909s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.146350s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.059138s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-792747da-b921-4326-965e-8a50032520c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "34366089-7e7b-461c-9378-da7421a21f19", "created_at": "2024-03-06T09:35:28.142009+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": "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/34366089-7e7b-461c-9378-da7421a21f19", "rel": "self"}, {"href": "http://localhost/nodes/34366089-7e7b-461c-9378-da7421a21f19", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/34366089-7e7b-461c-9378-da7421a21f19/ports", "rel": "self"}, {"href": "http://localhost/nodes/34366089-7e7b-461c-9378-da7421a21f19/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/34366089-7e7b-461c-9378-da7421a21f19/states", "rel": "self"}, {"href": "http://localhost/nodes/34366089-7e7b-461c-9378-da7421a21f19/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/34366089-7e7b-461c-9378-da7421a21f19/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/34366089-7e7b-461c-9378-da7421a21f19/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/34366089-7e7b-461c-9378-da7421a21f19/volume", "rel": "self"}, {"href": "http://localhost/nodes/34366089-7e7b-461c-9378-da7421a21f19/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa892202-5a57-4d44-8a27-9a311797d518 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:28.310871+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/e168c553-1b2b-4b29-94a7-88a4c8cf324e [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6e244677-bd46-4126-ab1e-63192c06b232 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ccda4bfd-91a1-478b-805e-401e1a5c9881 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-28ff6c08-abd3-439e-a4ca-0f0a9b6cd6cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 \\\"ccda4bfd-91a1-478b-805e-401e1a5c9881\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/670afb97-7aad-428d-b829-55647508c47c [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.097950s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.621550s] ... ok PATCH: /v1/nodes/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cc8c9ae3-8490-4667-b1d7-a5f5d83bd904 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bf54bdab-c055-42fe-9303-d7642163679a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/bff2f84d-ce7b-4e0c-936f-5903a066e573 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6c90eaf2-517c-4093-977e-bc7dd6ef6977 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/4474ec6f-4d19-4e64-81e4-0b25dbf87eba [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04a83ea5-b198-4161-9861-e7b47b34d0ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "4474ec6f-4d19-4e64-81e4-0b25dbf87eba", "created_at": "2024-03-06T09:35:28.545107+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/4474ec6f-4d19-4e64-81e4-0b25dbf87eba", "rel": "self"}, {"href": "http://localhost/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/ports", "rel": "self"}, {"href": "http://localhost/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/states", "rel": "self"}, {"href": "http://localhost/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/volume", "rel": "self"}, {"href": "http://localhost/nodes/4474ec6f-4d19-4e64-81e4-0b25dbf87eba/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/864923bd-47aa-4642-90c5-541d865b6406 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.156005s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.282835s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.112045s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.528310s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-1b858792-563b-4cae-a219-4bc29b28d9cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-510bc877-807b-4f85-9771-fda3b444ad74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76a2cc30-adca-43df-9fc6-9a635728d7fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.469923s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.152945s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.113235s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe61b051-253a-4bc7-b28e-a94caae72295 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "670afb97-7aad-428d-b829-55647508c47c", "created_at": "2024-03-06T09:35:28.636588+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/670afb97-7aad-428d-b829-55647508c47c", "rel": "self"}, {"href": "http://localhost/nodes/670afb97-7aad-428d-b829-55647508c47c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/670afb97-7aad-428d-b829-55647508c47c/ports", "rel": "self"}, {"href": "http://localhost/nodes/670afb97-7aad-428d-b829-55647508c47c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/670afb97-7aad-428d-b829-55647508c47c/states", "rel": "self"}, {"href": "http://localhost/nodes/670afb97-7aad-428d-b829-55647508c47c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/670afb97-7aad-428d-b829-55647508c47c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/670afb97-7aad-428d-b829-55647508c47c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/670afb97-7aad-428d-b829-55647508c47c/volume", "rel": "self"}, {"href": "http://localhost/nodes/670afb97-7aad-428d-b829-55647508c47c/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fbac30a-c72e-4d7e-ad97-a0fe5c7a2013 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "cd990e89-0e5f-4bf4-bb7a-f049cbc1119c", "created_at": "2024-03-06T09:35:28.908491+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/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c", "rel": "self"}, {"href": "http://localhost/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/ports", "rel": "self"}, {"href": "http://localhost/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/states", "rel": "self"}, {"href": "http://localhost/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/volume", "rel": "self"}, {"href": "http://localhost/nodes/cd990e89-0e5f-4bf4-bb7a-f049cbc1119c/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4 [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.185840s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-84007921-e307-450b-bb62-5ea5144fb680 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:28.825902+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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-03-06T09:35:28.825902+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-4e83757d-275d-4b55-bc34-44d15aa213ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:29.181090+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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.247547s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.116685s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.183309s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.403601s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.491731s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.084864s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-993c53a7-776a-41ef-9b6e-6fd4f22b78c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "bcaab021-6bc1-4d06-a381-fbe8e4685ff4", "created_at": "2024-03-06T09:35:29.009783+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/bcaab021-6bc1-4d06-a381-fbe8e4685ff4", "rel": "self"}, {"href": "http://localhost/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/ports", "rel": "self"}, {"href": "http://localhost/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/states", "rel": "self"}, {"href": "http://localhost/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/volume", "rel": "self"}, {"href": "http://localhost/nodes/bcaab021-6bc1-4d06-a381-fbe8e4685ff4/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-192124fa-cbf7-4c3b-b9ad-1aea663c65b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9975314b-baf5-4418-9920-d9a5fc1c516c", "created_at": "2024-03-06T09:35:29.228335+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": "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/9975314b-baf5-4418-9920-d9a5fc1c516c", "rel": "self"}, {"href": "http://localhost/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/ports", "rel": "self"}, {"href": "http://localhost/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/states", "rel": "self"}, {"href": "http://localhost/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/volume", "rel": "self"}, {"href": "http://localhost/nodes/9975314b-baf5-4418-9920-d9a5fc1c516c/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': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.431254s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.057616s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.372944s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9865824e-d1d7-4220-bba9-b8337ce8a193 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "864923bd-47aa-4642-90c5-541d865b6406", "created_at": "2024-03-06T09:35:28.811336+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/864923bd-47aa-4642-90c5-541d865b6406", "rel": "self"}, {"href": "http://localhost/nodes/864923bd-47aa-4642-90c5-541d865b6406", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/864923bd-47aa-4642-90c5-541d865b6406/ports", "rel": "self"}, {"href": "http://localhost/nodes/864923bd-47aa-4642-90c5-541d865b6406/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/864923bd-47aa-4642-90c5-541d865b6406/states", "rel": "self"}, {"href": "http://localhost/nodes/864923bd-47aa-4642-90c5-541d865b6406/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/864923bd-47aa-4642-90c5-541d865b6406/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/864923bd-47aa-4642-90c5-541d865b6406/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/864923bd-47aa-4642-90c5-541d865b6406/volume", "rel": "self"}, {"href": "http://localhost/nodes/864923bd-47aa-4642-90c5-541d865b6406/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-9564c11d-6661-4337-99ca-2192d404b0aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:28.873599+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/fca98541-f100-4c0a-a976-656dd3b61d47 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4208cd61-c12a-4c90-8adb-02eacdf4d634 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 \\\"fca98541-f100-4c0a-a976-656dd3b61d47\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} PATCH: /v1/nodes/bed2287d-ab37-408b-b9ca-52c258079863 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62b5ad35-b678-4456-a804-103a6e24de00 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "bed2287d-ab37-408b-b9ca-52c258079863", "created_at": "2024-03-06T09:35:29.242053+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/bed2287d-ab37-408b-b9ca-52c258079863", "rel": "self"}, {"href": "http://localhost/nodes/bed2287d-ab37-408b-b9ca-52c258079863", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bed2287d-ab37-408b-b9ca-52c258079863/ports", "rel": "self"}, {"href": "http://localhost/nodes/bed2287d-ab37-408b-b9ca-52c258079863/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bed2287d-ab37-408b-b9ca-52c258079863/states", "rel": "self"}, {"href": "http://localhost/nodes/bed2287d-ab37-408b-b9ca-52c258079863/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bed2287d-ab37-408b-b9ca-52c258079863/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bed2287d-ab37-408b-b9ca-52c258079863/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bed2287d-ab37-408b-b9ca-52c258079863/volume", "rel": "self"}, {"href": "http://localhost/nodes/bed2287d-ab37-408b-b9ca-52c258079863/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1 [{'path': '/protected', 'value': True, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.260618s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.039473s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.024323s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.047983s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.269473s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.139041s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-202ced65-dc0c-4143-a365-1f1407e0a770 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:29.710660+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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-03-06T09:35:29.710660+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b254b2e2-ab4d-4b54-92cf-c622fc69d295 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.345384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.200452s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:29.181090+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-f97396ea-8827-4669-b76d-e755d4f45e60 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:29.423276+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-03-06T09:35:29.423276+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 {'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-07df03ad-8d3e-4b05-88ac-5eac1fde57f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/nodes/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/nodes/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-17cc822f-5e05-4595-b810-febcb01a314f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-06bcec02-9f29-4b76-813a-ef6be134927d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.164616s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.100401s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3346a175-5e30-4fd8-83fe-bbac54f18fad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7588e05b-cd6c-4c8f-97be-4e83ad1cd789", "created_at": "2024-03-06T09:35:27.932677+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789", "rel": "self"}, {"href": "http://localhost/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/ports", "rel": "self"}, {"href": "http://localhost/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/states", "rel": "self"}, {"href": "http://localhost/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/volume", "rel": "self"}, {"href": "http://localhost/nodes/7588e05b-cd6c-4c8f-97be-4e83ad1cd789/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67a43d1b-9ba9-466e-bcaa-c2dd7940ce2d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-9e7c8c29-eded-48fd-86c5-4e275bbe6333 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-0830f85d-35b7-46c0-ae4a-b1918ea609ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6ef1da8-74d7-48c9-aec2-3465d75eb302 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fb5f5f6d-a87d-4ed7-8bd9-d3e4a840abbb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:29.233324+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18e4b4a5-fc1c-413e-acd3-5c3aeb8cd08b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3f0bb4a-87a3-4ab7-81b2-a7926753122a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-899830a0-f292-40b1-bc01-e0f956ba1b5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26fdb637-a828-4a2e-9703-f5dc1dee46c4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc89f08c-a076-4b5a-b3f0-aa52066c07ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/management_interface', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.168113s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-4a8ba0d8-6199-48de-bdee-6125d9ba1683 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:30.017254+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-03-06T09:35:30.017254+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': '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-e5d2d0b4-479e-4b62-a5d5-85b78de1e7be X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:30.350341+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.273303s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.095637s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bfff1416-2860-49dc-9537-78d72a730a3e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-242d916f-7346-44d4-af71-759592ef9716 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/raid_interface', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.787981s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.088520s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-518d57e4-c834-42e5-a541-bbbbd58c9d38 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "42491f8d-213f-4c94-9f28-3025fc3668d1", "created_at": "2024-03-06T09:35:29.615769+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/42491f8d-213f-4c94-9f28-3025fc3668d1", "rel": "self"}, {"href": "http://localhost/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/states", "rel": "self"}, {"href": "http://localhost/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/42491f8d-213f-4c94-9f28-3025fc3668d1/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23ef1e1a-b192-4d23-bec7-bc8ee14b48b2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "9fd0c63f-0c16-4db3-9f73-5b73e861873b", "created_at": "2024-03-06T09:35:29.929921+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/9fd0c63f-0c16-4db3-9f73-5b73e861873b", "rel": "self"}, {"href": "http://localhost/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/ports", "rel": "self"}, {"href": "http://localhost/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/states", "rel": "self"}, {"href": "http://localhost/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/volume", "rel": "self"}, {"href": "http://localhost/nodes/9fd0c63f-0c16-4db3-9f73-5b73e861873b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1a269793-f14f-4fb6-ac15-2557a183e458 [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05b720df-b8fa-4ea3-bed0-c9200b001406 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/0b1d1628-b0bf-42f2-86e2-4da411293b73 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28381ce9-20fb-4312-8bda-69a383c61585 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "0b1d1628-b0bf-42f2-86e2-4da411293b73", "created_at": "2024-03-06T09:35:30.369236+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/0b1d1628-b0bf-42f2-86e2-4da411293b73", "rel": "self"}, {"href": "http://localhost/nodes/0b1d1628-b0bf-42f2-86e2-4da411293b73", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0b1d1628-b0bf-42f2-86e2-4da411293b73/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b1d1628-b0bf-42f2-86e2-4da411293b73/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0b1d1628-b0bf-42f2-86e2-4da411293b73/states", "rel": "self"}, {"href": "http://localhost/nodes/0b1d1628-b0bf-42f2-86e2-4da411293b73/states", "rel": "bookmark"}]} PATCH: /v1/nodes/6e51132a-eb50-4281-8cdb-06edcc677733 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.120927s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.120370s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.165994s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.101614s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:30.350341+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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-4a6d2fc6-8b73-4edb-b83c-924721103c5d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54baddf8-0bdd-43c2-81f8-84fe69cd7882 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-e581777f-360b-49ee-9e97-0b2f02c1e9ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0439b6d6-8a1d-408f-829d-1cb9a31b0a6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0ba57a91-5289-4653-b642-1032b6a48a05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.344332s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.102907s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.079606s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.343006s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.149650s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.096634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.032440s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.180886s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.051453s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.038027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.326702s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.058942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.069800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.231865s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.034249s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.031063s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.036079s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.073070s] ... ok 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-3cdb284d-ef6b-47dc-b0ff-012b1b78ec39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-4dda5a20-dcb7-4287-bd7b-eee33382af78 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '53e8769f-c825-44c8-8ccc-f463da0bb1dc', '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/53e8769f-c825-44c8-8ccc-f463da0bb1dc Openstack-Request-Id: req-ff3375e5-4875-4cba-9bc3-f49e9bab6f64 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "53e8769f-c825-44c8-8ccc-f463da0bb1dc", "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/53e8769f-c825-44c8-8ccc-f463da0bb1dc", "rel": "self"}, {"href": "http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/ports", "rel": "self"}, {"href": "http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/states", "rel": "self"}, {"href": "http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/volume", "rel": "self"}, {"href": "http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/volume", "rel": "bookmark"}]} GET: /v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc {} GOT:{'uuid': '53e8769f-c825-44c8-8ccc-f463da0bb1dc', '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/53e8769f-c825-44c8-8ccc-f463da0bb1dc', 'rel': 'self'}, {'href': 'http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/53e8769f-c825-44c8-8ccc-f463da0bb1dc/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '168586f6-9dd5-41ce-83bb-201dd9f112b2', '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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6ac2f6a-e407-4df3-94ee-ce478927f33d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bc70c24f-c7cc-4a7c-a14c-dfbc50b808a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-6e69dcb4-1797-41d7-b150-fcedc096d4b3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-101120bc-8304-4bda-bf65-e983b9be1cca X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4bce4b9d-e1f0-479d-a38e-e2618dd15928 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 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-82a45106-a539-4a2b-8ed0-b324563cecd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84795237-d4b5-45d2-895e-e0eb7966d8e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4352a12e-631f-4831-8a1f-f20003a91aa3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9109a2ed-0615-427d-9052-fa60e2c78777 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0b84ebd-8571-42e4-802f-4973a16ebe92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ab5e2c92-25c5-4489-994c-68dbaa6968a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a256438a-2539-4392-8515-635a5775830f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-188f4dd5-bb8c-4430-a40f-870985a56d41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7f36a83-1954-4dc6-999d-02f306d1bd83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3addad0-e065-41f6-958d-f5ceefcded77 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ea1cf71-aaab-4e3f-bf29-fa7464ac788a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-820fd322-aa1e-4613-803a-6d4b860d8961 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'provide', 'clean_steps': 'foo'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.062595s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9cda0e3-dde7-44aa-8f13-401cce84190d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0 [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-327a86ec-f721-4041-b938-dece4d777d0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "created_at": "2024-03-06T09:35:29.976089+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": "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/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "self"}, {"href": "http://localhost/nodes/6564caee-35e2-48d4-a7ea-b7b2b85bafd0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/0ae0c518-1ac1-4a04-851b-c78d8e379d9e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f03363ec-e406-4d3e-9170-942f9137a05f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "0ae0c518-1ac1-4a04-851b-c78d8e379d9e", "created_at": "2024-03-06T09:35:30.748050+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/0ae0c518-1ac1-4a04-851b-c78d8e379d9e", "rel": "self"}, {"href": "http://localhost/nodes/0ae0c518-1ac1-4a04-851b-c78d8e379d9e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0ae0c518-1ac1-4a04-851b-c78d8e379d9e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0ae0c518-1ac1-4a04-851b-c78d8e379d9e/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/816d7e18-16af-4615-99a8-8f4b4d4d662e [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-908b394a-775b-4c15-af4d-552c74c469b3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b3b68db7-aef1-43bb-8cd3-62592239d3eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.220399s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.038303s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.047410s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-12cbcd1d-4a6a-443e-8abe-e05677e07654 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/38d86f85-e929-4611-a363-b342c4df5748 [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64ade99f-af56-4b36-b62c-6bdc79ad577c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "38d86f85-e929-4611-a363-b342c4df5748", "created_at": "2024-03-06T09:35:30.613438+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/38d86f85-e929-4611-a363-b342c4df5748", "rel": "self"}, {"href": "http://localhost/nodes/38d86f85-e929-4611-a363-b342c4df5748", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d86f85-e929-4611-a363-b342c4df5748/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d86f85-e929-4611-a363-b342c4df5748/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d86f85-e929-4611-a363-b342c4df5748/states", "rel": "self"}, {"href": "http://localhost/nodes/38d86f85-e929-4611-a363-b342c4df5748/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d86f85-e929-4611-a363-b342c4df5748/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d86f85-e929-4611-a363-b342c4df5748/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d86f85-e929-4611-a363-b342c4df5748/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d86f85-e929-4611-a363-b342c4df5748/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-8f4c58c6-4299-45c9-bedf-f09ec45cd7c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected) Failed validating 'additionalProperties' in schema['items']\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '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-b0cea326-bf83-4fcd-82da-953def00ae55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.087936s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.536333s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.121164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.056061s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.056414s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.105897s] ... ok PATCH: /v1/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b10a3896-7b1e-40da-8c23-02ed434ca5b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "4bc4bfc7-c546-4979-8c6a-875ec5ed0e26", "created_at": "2024-03-06T09:35:31.432120+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/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26", "rel": "self"}, {"href": "http://localhost/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/ports", "rel": "self"}, {"href": "http://localhost/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/states", "rel": "self"}, {"href": "http://localhost/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/volume", "rel": "self"}, {"href": "http://localhost/nodes/4bc4bfc7-c546-4979-8c6a-875ec5ed0e26/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/4bbb5777-1d31-4d06-acc8-66e267777a7b [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-57d63147-7701-4f27-8234-dc9a7a127f3d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/f478680d-ed0d-4257-aa0a-2038b5f849d8 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-34cead3a-87f1-484b-a465-bbc209c08be3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid network_data: 'links' is a required property \", \"debuginfo\": null}"} PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5ad6a1f-114b-408f-9cda-c6dab232758c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:31.598374+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/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.074162s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.076119s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2 Openstack-Request-Id: req-912ed32f-50e9-4f96-ada7-a395b4b22a42 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "168586f6-9dd5-41ce-83bb-201dd9f112b2", "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/168586f6-9dd5-41ce-83bb-201dd9f112b2", "rel": "self"}, {"href": "http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/ports", "rel": "self"}, {"href": "http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/states", "rel": "self"}, {"href": "http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/volume", "rel": "self"}, {"href": "http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/volume", "rel": "bookmark"}]} GET: /v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2 {} GOT:{'uuid': '168586f6-9dd5-41ce-83bb-201dd9f112b2', '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/168586f6-9dd5-41ce-83bb-201dd9f112b2', 'rel': 'self'}, {'href': 'http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/168586f6-9dd5-41ce-83bb-201dd9f112b2/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '9b0cc2c4-6c10-421c-a403-ed88376d7706', '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/9b0cc2c4-6c10-421c-a403-ed88376d7706 Openstack-Request-Id: req-4b5323ad-332e-43d3-b703-f9b66993b2a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "9b0cc2c4-6c10-421c-a403-ed88376d7706", "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/9b0cc2c4-6c10-421c-a403-ed88376d7706", "rel": "self"}, {"href": "http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/ports", "rel": "self"}, {"href": "http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/states", "rel": "self"}, {"href": "http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/volume", "rel": "self"}, {"href": "http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.136969s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df942d70-36a0-453d-a15c-73849eb4c7a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9", "created_at": "2024-03-06T09:35:31.691438+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/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9", "rel": "self"}, {"href": "http://localhost/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/states", "rel": "self"}, {"href": "http://localhost/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/8a674e9d-f8f9-4828-bf1a-4a742a0bd0e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1eea9960-2725-42df-9587-b25b838617a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "9302cd3e-b8fc-4714-ac30-51ca6850fd74", "created_at": "2024-03-06T09:35:31.764657+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/9302cd3e-b8fc-4714-ac30-51ca6850fd74", "rel": "self"}, {"href": "http://localhost/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/ports", "rel": "self"}, {"href": "http://localhost/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/states", "rel": "self"}, {"href": "http://localhost/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/volume", "rel": "self"}, {"href": "http://localhost/nodes/9302cd3e-b8fc-4714-ac30-51ca6850fd74/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.063897s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.079027s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.055186s] ... ok GET: /v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706 {} GOT:{'uuid': '9b0cc2c4-6c10-421c-a403-ed88376d7706', '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/9b0cc2c4-6c10-421c-a403-ed88376d7706', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b0cc2c4-6c10-421c-a403-ed88376d7706/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '9cd70218-5f4d-4847-a446-29490fab7158', '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/9cd70218-5f4d-4847-a446-29490fab7158 Openstack-Request-Id: req-9a71eaf8-3ac5-4ae4-a6ef-9ad3dfe7339c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "9cd70218-5f4d-4847-a446-29490fab7158", "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/9cd70218-5f4d-4847-a446-29490fab7158", "rel": "self"}, {"href": "http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/ports", "rel": "self"}, {"href": "http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/states", "rel": "self"}, {"href": "http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/volume", "rel": "self"}, {"href": "http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/volume", "rel": "bookmark"}]} GET: /v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158 {} GOT:{'uuid': '9cd70218-5f4d-4847-a446-29490fab7158', '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/9cd70218-5f4d-4847-a446-29490fab7158', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9cd70218-5f4d-4847-a446-29490fab7158/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cd70218-5f4d-4847-a446-29490fab7158/volume', 'rel': 'bookmark'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.034468s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-39770145-2819-47e7-b561-6098d6489835 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:31.537596+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-03-06T09:35:31.537596+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': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.275892s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.037182s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.142145s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-877ec63f-e84f-4ff8-9cdd-ee5d238cfb7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "8e0d2506-a880-42e8-a41b-443ae977f0f2", "created_at": "2024-03-06T09:35:31.835434+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/8e0d2506-a880-42e8-a41b-443ae977f0f2", "rel": "self"}, {"href": "http://localhost/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/states", "rel": "self"}, {"href": "http://localhost/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/volume", "rel": "self"}, {"href": "http://localhost/nodes/8e0d2506-a880-42e8-a41b-443ae977f0f2/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/8e0d0360-5eae-4791-92dc-817871bfc742 [{'op': 'remove', 'path': '/protected'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94fab384-99b7-4389-90d8-7fc9aae09e28 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "8e0d0360-5eae-4791-92dc-817871bfc742", "created_at": "2024-03-06T09:35:31.916591+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/8e0d0360-5eae-4791-92dc-817871bfc742", "rel": "self"}, {"href": "http://localhost/nodes/8e0d0360-5eae-4791-92dc-817871bfc742", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/states", "rel": "self"}, {"href": "http://localhost/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/volume", "rel": "self"}, {"href": "http://localhost/nodes/8e0d0360-5eae-4791-92dc-817871bfc742/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/e381b62e-69cd-437e-9f1e-b0938531c076 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e29e822-ecc5-412b-9b0d-3114fd8cf089 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} PATCH: /v1/nodes/a262a550-47e6-4186-8e7f-a833bff64f87 [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc4491c0-165a-4579-8bd8-a4434cf2c875 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /traits. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5222c925-30eb-4619-8f04-89ee7a45775b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.066959s] ... ok POST: /v1/nodes {'uuid': 'c24563a5-3266-4aec-872f-2c5fc97d807d', '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/c24563a5-3266-4aec-872f-2c5fc97d807d Openstack-Request-Id: req-54e236e2-3689-4f4b-ab8b-f3c408993052 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "c24563a5-3266-4aec-872f-2c5fc97d807d", "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/c24563a5-3266-4aec-872f-2c5fc97d807d", "rel": "self"}, {"href": "http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/ports", "rel": "self"}, {"href": "http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/states", "rel": "self"}, {"href": "http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/volume", "rel": "self"}, {"href": "http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/volume", "rel": "bookmark"}]} GET: /v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d {} GOT:{'uuid': 'c24563a5-3266-4aec-872f-2c5fc97d807d', '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/c24563a5-3266-4aec-872f-2c5fc97d807d', 'rel': 'self'}, {'href': 'http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c24563a5-3266-4aec-872f-2c5fc97d807d/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '663b9f5a-816a-42d4-ada1-d29797e63e23', '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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b985850-09a5-4a7a-877a-0315d5c10835 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long Failed validating 'maxLength' in schema['properties']['description']\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-3db73465-3879-4aba-a88b-759c08c6cb34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.262321s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.152576s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.137826s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23 Openstack-Request-Id: req-90b1da4b-6350-4744-be7f-b231dc7d4e9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "663b9f5a-816a-42d4-ada1-d29797e63e23", "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/663b9f5a-816a-42d4-ada1-d29797e63e23", "rel": "self"}, {"href": "http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/ports", "rel": "self"}, {"href": "http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/states", "rel": "self"}, {"href": "http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/volume", "rel": "self"}, {"href": "http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/volume", "rel": "bookmark"}]} GET: /v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23 {} GOT:{'uuid': '663b9f5a-816a-42d4-ada1-d29797e63e23', '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/663b9f5a-816a-42d4-ada1-d29797e63e23', 'rel': 'self'}, {'href': 'http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/663b9f5a-816a-42d4-ada1-d29797e63e23/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'f2d96c16-6c86-4aad-8daa-5cadb3401a7c', '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/f2d96c16-6c86-4aad-8daa-5cadb3401a7c Openstack-Request-Id: req-587d7fd6-812a-4d5b-b9a5-daf52cb9e93b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "f2d96c16-6c86-4aad-8daa-5cadb3401a7c", "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/f2d96c16-6c86-4aad-8daa-5cadb3401a7c", "rel": "self"}, {"href": "http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/ports", "rel": "self"}, {"href": "http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/states", "rel": "self"}, {"href": "http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/volume", "rel": "self"}, {"href": "http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/volume", "rel": "bookmark"}]} GET: /v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c {} GOT:{'uuid': 'f2d96c16-6c86-4aad-8daa-5cadb3401a7c', '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/f2d96c16-6c86-4aad-8daa-5cadb3401a7c', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2d96c16-6c86-4aad-8daa-5cadb3401a7c/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '8e6747e6-0add-4c8f-acde-a78777b340fd', '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/8e6747e6-0add-4c8f-acde-a78777b340fd Openstack-Request-Id: req-89c27f1e-551b-4cd0-b96e-fccf6c119159 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "8e6747e6-0add-4c8f-acde-a78777b340fd", "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/8e6747e6-0add-4c8f-acde-a78777b340fd", "rel": "self"}, {"href": "http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/states", "rel": "self"}, {"href": "http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/volume", "rel": "self"}, {"href": "http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/volume", "rel": "bookmark"}]} GET: /v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd {} GOT:{'uuid': '8e6747e6-0add-4c8f-acde-a78777b340fd', '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/8e6747e6-0add-4c8f-acde-a78777b340fd', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e6747e6-0add-4c8f-acde-a78777b340fd/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '08571429-f0cd-481f-bfea-04a090a370f2', '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/08571429-f0cd-481f-bfea-04a090a370f2 Openstack-Request-Id: req-dc9d722a-40f6-47a4-98fe-c7261b398381 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "08571429-f0cd-481f-bfea-04a090a370f2", "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/08571429-f0cd-481f-bfea-04a090a370f2", "rel": "self"}, {"href": "http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/ports", "rel": "self"}, {"href": "http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/states", "rel": "self"}, {"href": "http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/volume", "rel": "self"}, {"href": "http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/volume", "rel": "bookmark"}]} GET: /v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2 {} GOT:{'uuid': '08571429-f0cd-481f-bfea-04a090a370f2', '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/08571429-f0cd-481f-bfea-04a090a370f2', 'rel': 'self'}, {'href': 'http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/08571429-f0cd-481f-bfea-04a090a370f2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/08571429-f0cd-481f-bfea-04a090a370f2/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'bdd34601-fb27-431d-9cb3-5e57b2fa79c7', '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/bdd34601-fb27-431d-9cb3-5e57b2fa79c7 Openstack-Request-Id: req-8dc8cbec-71ab-455d-b584-531bc1ed0709 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "bdd34601-fb27-431d-9cb3-5e57b2fa79c7", "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/bdd34601-fb27-431d-9cb3-5e57b2fa79c7", "rel": "self"}, {"href": "http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/ports", "rel": "self"}, {"href": "http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/states", "rel": "self"}, {"href": "http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/volume", "rel": "self"}, {"href": "http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/volume", "rel": "bookmark"}]} GET: /v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7 {} GOT:{'uuid': 'bdd34601-fb27-431d-9cb3-5e57b2fa79c7', '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/bdd34601-fb27-431d-9cb3-5e57b2fa79c7', 'rel': 'self'}, {'href': 'http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/bdd34601-fb27-431d-9cb3-5e57b2fa79c7/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'bbc4feb1-5495-4535-a29e-649a64a99778', '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/bbc4feb1-5495-4535-a29e-649a64a99778 Openstack-Request-Id: req-ade67853-0c60-410d-9079-37f5c71907de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "bbc4feb1-5495-4535-a29e-649a64a99778", "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/bbc4feb1-5495-4535-a29e-649a64a99778", "rel": "self"}, {"href": "http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/ports", "rel": "self"}, {"href": "http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/states", "rel": "self"}, {"href": "http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/volume", "rel": "self"}, {"href": "http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.406643s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.043249s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.187009s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.722852s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.232023s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7d787762-4fef-4da4-9023-3f49840fd2a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '5e6457a5-2f45-47b0-9b68-822b9b57045d', '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/5e6457a5-2f45-47b0-9b68-822b9b57045d Openstack-Request-Id: req-01ff39e2-3a81-4e5d-801f-9219b2818771 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5e6457a5-2f45-47b0-9b68-822b9b57045d", "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/5e6457a5-2f45-47b0-9b68-822b9b57045d", "rel": "self"}, {"href": "http://localhost/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d/ports", "rel": "self"}, {"href": "http://localhost/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d/ports", "rel": "bookmark"}]} GET: /v1/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d {} GOT:{'uuid': '5e6457a5-2f45-47b0-9b68-822b9b57045d', '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/5e6457a5-2f45-47b0-9b68-822b9b57045d', 'rel': 'self'}, {'href': 'http://localhost/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5e6457a5-2f45-47b0-9b68-822b9b57045d/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-85145720-e15f-47f6-878e-a6fc7f2b4def X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.080532s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.122432s] ... ok GET: /v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778 {} GOT:{'uuid': 'bbc4feb1-5495-4535-a29e-649a64a99778', '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/bbc4feb1-5495-4535-a29e-649a64a99778', 'rel': 'self'}, {'href': 'http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/bbc4feb1-5495-4535-a29e-649a64a99778/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'db094dd5-f0dd-4401-9076-ff9bd606d27a', '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/db094dd5-f0dd-4401-9076-ff9bd606d27a Openstack-Request-Id: req-10bdc197-56d6-482a-bbea-8dd223f1fbaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "db094dd5-f0dd-4401-9076-ff9bd606d27a", "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/db094dd5-f0dd-4401-9076-ff9bd606d27a", "rel": "self"}, {"href": "http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/ports", "rel": "self"}, {"href": "http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/states", "rel": "self"}, {"href": "http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/volume", "rel": "self"}, {"href": "http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/volume", "rel": "bookmark"}]} GET: /v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a {} GOT:{'uuid': 'db094dd5-f0dd-4401-9076-ff9bd606d27a', '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/db094dd5-f0dd-4401-9076-ff9bd606d27a', 'rel': 'self'}, {'href': 'http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/db094dd5-f0dd-4401-9076-ff9bd606d27a/volume', 'rel': 'bookmark'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.065779s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.248233s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8b018dfc-0bf0-42f6-bbac-d5c56be549d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:32.582974+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-03-06T09:35:32.582974+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-03-06T09:35:32.582974+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': {}, '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-b0806a68-cb15-4ec7-a5c0-0eb5f3266ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:32.657170+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-03-06T09:35:32.657170+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'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.047279s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.047850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.052570s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.052948s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.056576s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.279196s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.051159s] ... 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': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bcff74c3-7d3d-4fd5-85d3-06750854987d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-be1e84eb-3ae1-4f65-b1b8-fb1654e77f9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {'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-eb224760-7545-417d-b67d-51d7faa60a8f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-218dcb48-1979-4d6f-8a30-866a4949bc34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:32.866150+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b7a1fb15-e17c-4c35-b3dd-ed1b55880c78 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f785d908-8109-4d76-a0ee-d8dbb503e862 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.075376s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.183714s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3fa61a4b-de37-4636-9ed6-d634eeddde73 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:33.037090+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-03-06T09:35:33.037090+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'conductor_group': 'foo', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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-a8df0e32-4b8e-4714-923f-3ddeab24a030 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:33.106066+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.072761s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.034815s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.029233s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.042817s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.093329s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.716360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.055263s] ... 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': {}, 'chassis_uuid': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7667e361-83f0-491e-8d92-9c9fa4e299e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['chassis_uuid']\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ceb5df70-7023-4a4e-bb51-c65dc6fd46fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7efa3517-8017-49d3-8fe6-65a0b321b1a0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6ec37658-730f-438d-bbe7-eba9a4a9ba14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:33.076600+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.529909s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.069828s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.041293s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5606456e-ecc1-422c-9f3d-4c9658c66b5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-560aead4-ebc8-4d38-9307-ed356b1718bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0055b62f-a923-4171-a005-6fb0252ab207 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7f5b0d6d-5f2b-4755-90ee-6bfbdaf33620 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-deeca6f2-9b35-4989-8e4d-08744c78ae84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-e734b312-0293-408b-be8a-300d419b01e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6137654f-f234-4be5-a181-f08ad41a940a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-80f13ace-9f43-4410-9b9c-a50bce5200d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.142368s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.037990s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.041098s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.085671s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.040345s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.057433s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.040275s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.248091s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.035122s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.033143s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.045957s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.078251s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.430207s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.048040s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.136448s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:33.106066+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-288a336b-5313-415b-85fb-88f5f30851ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-cadbc78a-d9d4-4460-8749-ca4a91c3e24a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-debb3fe7-08a5-4783-9968-c632cda26687 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0dab4d04-689e-4293-9ea3-6c35b1f45dd5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-334aaf65-c72d-48da-b76b-52000c147596 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-9803648a-dd3f-4c1a-b673-f3699210db92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2bf4237a-4d36-445d-8702-c8e79da24c2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-336387ee-0056-40de-9667-b1284d65f614 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.70 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7559cc12-cd3f-4bbf-9c9a-aa594cf45f9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'abort'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ab7f824c-5b51-43c9-a091-93dfaad98dff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf41b115-0a93-4668-a604-25ddab673321 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-13ba8119-5778-4e7c-b0e0-5aa80115d510 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37bd3e72-2d57-4f46-9037-ec65d3a301fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c708c7e5-ff45-420e-a1ee-47442eb775d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.047749s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.040059s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.034966s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.052720s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.127262s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.114311s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.056157s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:33.076600+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-44b5f4ea-0ba6-4c7f-8e83-2cab0fa567ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-9e7e9dea-1247-4d6b-9c82-2f800ed46ef5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:33.886310+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.447736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.112655s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.081402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.076230s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.080137s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.173906s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.058905s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.571490s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.039582s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.033764s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.028955s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.209422s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8edf30cb-f90d-401f-a005-f311fadc9b84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2b2011f8-528b-427d-9c08-80aec741f380 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-46420765-7b02-4c34-8b95-ff8442b8c7eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-c60c7a07-97c0-4160-860c-14bf021b8276 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fe265149-73b4-4d3d-9203-b9bb46c037b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d116b2b7-a736-4572-b58a-40f12c577710 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-a03f218f-50e6-4486-b60d-60b533b7c8fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6b05d1b8-2e93-45d8-8eec-3a6607651a59 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8fd43980-fd6e-4af7-9dbb-c86629fe5f67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-9225d7a9-e6f3-4645-a89b-72bfcae448c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-645eae70-f661-492a-9040-8b18cc2f5e53 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0a6a3341-33cf-443b-b77e-811ea410e820 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fa2ab622-7f83-4ff5-aa77-90e79ba71730 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c63f90c2-5c9c-4aa0-b553-5c658bd257d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d7426e03-c791-4d63-9b99-8199e723f74e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-28d271d3-32e4-4bf2-9809-724e503fd761 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': ['aabb']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb3e4b8d-e467-487e-8678-2f4c904be088 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.033533s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.050027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.051293s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8eb959b5-1c92-47f1-ad05-396896ce0e71 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:33.343745+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-03-06T09:35:33.343745+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c248fa66-c531-46f2-b3ce-39fe238d55e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-574cd659-a1ac-475a-8783-8c8810610623 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4f00ea1-51d9-487d-8c4a-77495ba74fa6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} 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-afacba81-a115-4d5e-99d8-c15f2b3582e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-114f6899-4299-4328-b91c-664058ab8ee4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f7ccb10a-403b-45b0-9c7f-79c666a7937b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-cf4b1ca7-80ef-4707-80ec-ce86edc5557c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fcce06c3-5805-4141-ba3d-785b68f9d815 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 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-93acd063-c102-4441-aa9a-079abf6570a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6d6f4469-6bbd-4efa-aabe-3e1495ee7655 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-901ef211-51f3-44d9-b996-a8bc8b6de7c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.170710s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.039542s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.046405s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.044475s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.040214s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.256325s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.036618s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.052567s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.043932s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.050714s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.065852s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.040343s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.045668s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.057983s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eda71cdf-5ab1-424a-ac83-dfe245d939fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , for clean_steps: foo\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '\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-fb6b26ad-6f51-4c8a-a7c8-3f6369d17acc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-59c8bf97-3ef1-44c9-b0c1-9b48f38e3e78 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '{"meta_data": '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e65ebaa-97d6-4577-addd-1b7a9da323f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid configdrive format: it is neither a JSON, nor a URL, nor a base64 string\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e5a5cc5f-dd3b-4c98-bbcf-e8e70dceb9ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-debe5cda-283e-4fc3-bcd6-34c65bb29c04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fb3304c2-c4f0-4333-8b18-ef54937ec321 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fa13f695-813d-4aa7-9e3e-d6c0cb810a21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-c74c8669-15c4-4471-88ca-46e3ce720420 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-fe4e44c8-8b0d-4baf-9016-4d410172f420 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-755e87c7-59f3-4933-9afa-2cc464d2742f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-65d6f858-3b86-475f-bb44-d3d6564b0d98 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebf8f6ce-0e85-4a38-8601-0e6b9accc0d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'invalid-value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d7d46df-edf3-4998-b8bb-e58bbb509f76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/indicators/led@system?state=glow {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f626b010-20a7-46ec-bffb-ba355256ac42 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-091f89da-ae4c-498a-bbed-a18bbe3ae9fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4b75e03-c128-4e2a-a676-89e634f02d26 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.122132s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:33.886310+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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_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-e2404c8d-b1a8-4aa2-8a33-c8f25e3f09ee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f8e62e87-b53d-4948-bc7b-11e2bba385ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4b96d9d4-5787-4136-a2e4-d02512d30521 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-e6e1613c-befd-4c63-a0b2-62f8f5ad3dbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:34.567756+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.TestPut.test_set_console_mode_enabled [0.064111s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.180877s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.036434s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.072775s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.111405s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.036986s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.178918s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.088573s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.101237s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.057610s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.067829s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.041907s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.050276s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.111055s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.082142s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.106002s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.070157s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.103572s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.031758s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.023725s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.050674s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.153489s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.188236s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.071736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.075978s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.131641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.165824s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18ab82b0-bee1-4e41-a8c9-f1256f0043a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15d353bb-056c-43fc-948a-fcd9f1874ce7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b90a4f22-8856-4584-85d3-6ff065e7759a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-00a233c4-1383-43bf-8e82-d8087e2a5755 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'provide'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e43b43c7-fbbc-4327-b886-654cdffe8e69 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6368d197-cd1b-473d-8e51-1def1ee0219c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-f1b54c80-2470-476b-a151-b5296537d6dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ff805ffd-8fc5-464b-8ae2-ffc4457ed23d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2aae4d07-babf-4591-95e4-490ffe7954ba X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-8e099be5-065a-4392-a60d-a29557ab782e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-09c23fc8-cf7d-4ef9-886c-adacfe427f9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eda24f1b-75fe-4a26-a9e1-83f4c49f0f9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'rebuild'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-92026bf6-35c9-42fe-b847-9dad14280f8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-29b49f43-37f4-4305-ad4d-67c0b00180ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-ced224e4-0cb3-489a-9368-d88b130ee26e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af2081ec-c27f-47fb-a9da-59b9441f8e94 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/indicators/led@system {'state': 'on'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bfe46768-743d-4a4b-a422-974c6647789b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d47315fe-e5fd-463c-b9be-3952104a4b84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.052944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.051242s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.090452s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.054920s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.126961s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.114366s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.067900s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.085274s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.149577s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.044890s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.073463s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.116928s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.085069s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.118422s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.357130s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.117613s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.188723s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.082791s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.048812s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.082074s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.043805s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.136796s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.110138s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.070141s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-06T09:35:34.567756+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-16cfb188-036e-4660-a444-eb3b4d18f394 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-23b78c73-b08f-45c1-9f72-ad06fea7bee3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-9ff697c6-2141-46d1-b20a-bd0d50981ef1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-4ba954c9-7298-40dd-877e-5986c9746a83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac60b278-9ed5-4f00-9e9f-36c73c035426 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9da63dce-4bbc-4971-a31a-fda7abbf45ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-083e8d4a-2af2-4e40-9d95-834ddfccc025 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0b85c204-3b0c-4ddd-b4df-411616ca6f3b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4878a96c-5bb3-4c33-b4c9-be145a5722a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5a9a6602-59db-478f-b0e6-51cf0103bfb3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-8953d578-f3cb-4a4f-948b-5cedae4049c4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-41b780f3-3eb8-49c5-8470-21c57c8ade33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-81a9575a-9db7-446b-9c44-586849c99b30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.074803s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.045329s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.075290s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.050283s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.137694s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-8e0b2781-2da1-4415-8721-7d66ab596124 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-ed757179-3564-4bb5-9139-1ec26ba66290 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 204 No Content Openstack-Request-Id: req-8cecb57c-f834-47f1-bd3a-dd962b1dbefe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports?fields=address,uuid {} GOT:{'ports': [{'uuid': '69083ff1-c9fd-4179-9804-2daf8a729d2a', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/69083ff1-c9fd-4179-9804-2daf8a729d2a', 'rel': 'self'}, {'href': 'http://localhost/ports/69083ff1-c9fd-4179-9804-2daf8a729d2a', 'rel': 'bookmark'}]}, {'uuid': '34607530-2068-463d-8957-4b1a5f4c6dbe', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/34607530-2068-463d-8957-4b1a5f4c6dbe', 'rel': 'self'}, {'href': 'http://localhost/ports/34607530-2068-463d-8957-4b1a5f4c6dbe', 'rel': 'bookmark'}]}, {'uuid': '40b11b09-5524-42ee-9893-3b38faa51095', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/40b11b09-5524-42ee-9893-3b38faa51095', 'rel': 'self'}, {'href': 'http://localhost/ports/40b11b09-5524-42ee-9893-3b38faa51095', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=40b11b09-5524-42ee-9893-3b38faa51095'} GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-91dca1ce-c436-410c-9d57-828772bc1570 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e7bc9c25-caf3-451f-85a9-2ec429628a76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': '463ff6a3-e02b-4163-9e1e-78d652115b74', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/463ff6a3-e02b-4163-9e1e-78d652115b74', 'rel': 'self'}, {'href': 'http://localhost/ports/463ff6a3-e02b-4163-9e1e-78d652115b74', 'rel': 'bookmark'}]}, {'uuid': '368a6c87-7768-44d9-b18e-42a3ce8a1c00', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/368a6c87-7768-44d9-b18e-42a3ce8a1c00', 'rel': 'self'}, {'href': 'http://localhost/ports/368a6c87-7768-44d9-b18e-42a3ce8a1c00', 'rel': 'bookmark'}]}, {'uuid': 'a7c7e7ca-d6c3-4232-a68f-f71fd3dfbe29', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/a7c7e7ca-d6c3-4232-a68f-f71fd3dfbe29', 'rel': 'self'}, {'href': 'http://localhost/ports/a7c7e7ca-d6c3-4232-a68f-f71fd3dfbe29', 'rel': 'bookmark'}]}]} GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dffc762a-7995-4198-b723-2a6163c0cfaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:35.411857+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,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32f46d1d-c53b-4c5c-8733-40d769b8dad8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:35.629834+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-03-06T09:35:35.629834+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-03-06T09:35:35.741634+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-03-06T09:35:35.741634+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:35.808978+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 {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.174591s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.051198s] ... ok 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-65c4a573-8356-4e3a-ade4-1820209f9022 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-752442c2-e22b-4712-b789-773f89ff2f1d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02c6f8c1-733b-400d-8f36-3a9c0a4eea30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ca25b8c-9df3-43b1-980f-78cbe9172d83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67df9da1-caa0-4b1a-b0ab-bcfca32eeb2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-46cde597-56a8-4e46-9a1b-1ee509a51192 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-90cd2de8-578b-45b9-a5a0-e74295efbf51 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-cfefd297-9539-4ad4-a4a4-3edc0765104b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-239921c9-14e1-4e63-bb97-55f513207f61 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-86321750-0484-4496-93ab-25b5440614d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-8b2e7631-f494-45bf-8aef-9e67c8410daf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-277fe6f4-5263-404b-9503-5bf33d3c107c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fe8da6d0-661c-4210-8d2c-f4bbf2b9af49 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b193dd1-128c-4d71-86a8-91561f3b4a14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62a4b6d8-829a-4633-9568-55bfccc0e04c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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']} PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcb9bf4c-156a-4f8e-b906-d2965195ad28 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-58bd88fb-ef03-4c36-ba49-90eac03eec67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} GET: /v1/ports?detail=True&fields=name {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.032334s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.072381s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.078779s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.026816s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.031883s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.320171s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.104284s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.311865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.069316s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.226535s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.044570s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.136426s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.052078s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.133321s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.184476s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.092783s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.062791s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.044554s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.083898s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.069088s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.096777s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.178734s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.075842s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.049026s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.101921s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-915f9550-1067-4834-87b1-5399fe86e590 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d26b4e58-cf5e-45d0-b1f6-e1a7fddfc7bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d85da219-9820-4919-9e57-0558dc1f3d6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-977739c1-cb6b-49f7-8a53-3301f8c98dea X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'rescue', 'rescue_password': ' '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d5dbed2-d88c-49ce-9162-8c6e1129c077 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-78c27d81-a345-4b3e-83aa-2b98b539b653 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-63443f3a-5833-4ad7-ba3c-24a618acb13a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fb322d99-cfa3-435b-b11f-6fb97144d166 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0168e77d-598e-4383-93d1-764da2d8dedb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-346ba287-aec5-4e2e-993c-ba6a519e43d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', 'configdrive': 'http://example.com'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-989f6ca4-d1a1-4e09-a2b5-72ba90f34ca4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3d638b30-9164-4219-9a87-6f9f14969072 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-858ae3f9-1b4b-4820-88db-5d523bccf9b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-4c8dc7f7-2a52-480e-a834-f58721983e82 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} GOT:Response: 204 No Content Openstack-Request-Id: req-dd393214-90c2-49fa-9390-87a0c6a08fe0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-9573c716-a043-41df-90e5-6f42f272cd05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3e124de5-3099-41a2-82a4-35618f27e42a X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/traits/CUSTOM_TRAIT1 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.056650s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.221219s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.090987s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.133488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.066802s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.069246s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.079184s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.032413s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.079177s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.031941s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.595156s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.079064s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.074944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.070152s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.134655s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.258871s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.111526s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.125983s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.178260s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.155960s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.137309s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.157118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.435839s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad7f5185-fe5e-4d54-823d-3ece234d124d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/ports?detail=False&fields=internal_info {} GOT:{'ports': [{'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e5911ff4-1092-4d0c-a43f-e0e217150cbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'ports': []} GET: /v1/ports?fields=uuid,extra {} GOT:{'ports': [{'uuid': 'ab5e759a-9457-4280-b399-34b6b4be0c68', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/ab5e759a-9457-4280-b399-34b6b4be0c68', 'rel': 'self'}, {'href': 'http://localhost/ports/ab5e759a-9457-4280-b399-34b6b4be0c68', 'rel': 'bookmark'}]}, {'uuid': 'a1193a29-fba8-4732-bf96-0e0a35662659', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/a1193a29-fba8-4732-bf96-0e0a35662659', 'rel': 'self'}, {'href': 'http://localhost/ports/a1193a29-fba8-4732-bf96-0e0a35662659', 'rel': 'bookmark'}]}, {'uuid': '107db23b-caea-44b0-8993-98336d4d038e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/107db23b-caea-44b0-8993-98336d4d038e', 'rel': 'self'}, {'href': 'http://localhost/ports/107db23b-caea-44b0-8993-98336d4d038e', 'rel': 'bookmark'}]}]} GET: /v1/ports?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/311a8e10-d2b1-43ec-92c3-9b0314e3498b', 'rel': 'self'}, {'href': 'http://localhost/ports/311a8e10-d2b1-43ec-92c3-9b0314e3498b', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/abfc02c0-9993-466b-beb2-c10cc765120e', 'rel': 'self'}, {'href': 'http://localhost/ports/abfc02c0-9993-466b-beb2-c10cc765120e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=abfc02c0-9993-466b-beb2-c10cc765120e'} 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-32d7da0d-972a-4e6c-80de-d59b47368406 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'is_smartnic': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-88902982-8723-4067-a166-3b8a7d02a32d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-03-06T09:35:36.744251+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-03-06T09:35:36.744251+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd078dcc-1700-4487-b63d-0f25c0efa8e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '96366593-0249-4eda-b0db-1b4d6af67ab4', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/96366593-0249-4eda-b0db-1b4d6af67ab4', 'rel': 'self'}, {'href': 'http://localhost/ports/96366593-0249-4eda-b0db-1b4d6af67ab4', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '71c21ed5-df3d-43be-b83b-fc71054c35aa', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/71c21ed5-df3d-43be-b83b-fc71054c35aa', 'rel': 'self'}, {'href': 'http://localhost/ports/71c21ed5-df3d-43be-b83b-fc71054c35aa', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': []} 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-1e18fa49-d965-4f23-89b5-10f297fed0c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9a6a068-80a7-4f10-a7bd-977fa2945f03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.109557s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.052292s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.049057s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.147690s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:35.808978+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/1e57f30b-45ee-4fc1-8024-cd482ea09b1b {} GOT:{'uuid': '1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'created_at': '2024-03-06T09:35:36.002302+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'self'}, {'href': 'http://foo/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b {} GOT:{'uuid': '1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'created_at': '2024-03-06T09:35:36.002302+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'self'}, {'href': 'http://foo/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b {} GOT:{'uuid': '1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'created_at': '2024-03-06T09:35:36.002302+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'self'}, {'href': 'http://foo/ports/1e57f30b-45ee-4fc1-8024-cd482ea09b1b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-95542f39-5bfb-4a65-9f70-1c86ad9ccb89 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?address=aa:bb:cc:dd:ee:ff {} GOT:{'ports': []} GET: /v1/ports?sort_key=uuid {} GOT:{'ports': [{'uuid': '6f6ce199-ff23-43b8-944a-2d305c3a7533', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/6f6ce199-ff23-43b8-944a-2d305c3a7533', 'rel': 'self'}, {'href': 'http://localhost/ports/6f6ce199-ff23-43b8-944a-2d305c3a7533', 'rel': 'bookmark'}]}, {'uuid': '9c4d48dd-eb75-40e3-9aca-e783786c33e6', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9c4d48dd-eb75-40e3-9aca-e783786c33e6', 'rel': 'self'}, {'href': 'http://localhost/ports/9c4d48dd-eb75-40e3-9aca-e783786c33e6', 'rel': 'bookmark'}]}, {'uuid': 'bb5a235d-76dd-4b51-a693-227d51b8d023', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/bb5a235d-76dd-4b51-a693-227d51b8d023', 'rel': 'self'}, {'href': 'http://localhost/ports/bb5a235d-76dd-4b51-a693-227d51b8d023', 'rel': 'bookmark'}]}]} 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-d1d9706a-a382-40c9-a4a8-83e1022b72cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['physical_network']\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-57c47df7-aafd-4746-a5c1-dc145a977751 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['physical_network']\", \"debuginfo\": null}"} PATCH: /v1/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-cedaff69-d74c-40e7-8492-966fcb7882f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a7d7af0-b0a2-4f57-b68d-1bd4be7d081c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.144939+00:00", "updated_at": "2024-03-06T09:35:37.159338+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-347a5394-324f-45cf-8ab8-d8624a5e06df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.144939+00:00", "updated_at": "2024-03-06T09:35:37.224498+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': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-36e8cf34-4e1f-4234-bc61-fb3d512c1925 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f965a42d-8666-4003-82f6-daf037fded2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.104350s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.080495s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.080738s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.159307s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.041865s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.123598s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.044438s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.123666s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.061620s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.071584s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.223054s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.087753s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.132193s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.224807s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c8631173-5caa-4af3-b18e-82ca1690c790 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-30567edd-2333-4408-9a44-264a26a545f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0cea48ec-b61f-4e59-b234-27197f15d892 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-10d699a5-1d32-4e49-b4b6-98f530afdf7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1223e8ad-2afd-47de-822b-68345c36988c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-991057ae-1863-42ba-a8d0-bade3b264fe2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-34954946-1d3f-4f16-aebd-e5de12c86b60 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c1d04422-fc18-41a6-993d-9d4671fc32c0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1cadf99f-61d0-4750-9f34-f0589722e652 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-ae52f6be-fd95-4a7c-835f-25977babe6de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-bd6831b2-e1ef-4370-9967-eb612361bf43 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5124aba-bb8b-456a-83f5-a26ca55d2a5b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f80e56b9-87e5-4291-b893-5f9ca64665a2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-4ce0b025-aa96-4dc1-8565-1d5af98392fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/7ce82a06-5ac3-4ebc-8a04-720f8e0b89ac GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c21fd552-27a2-4dd9-b5ec-40d31580fd6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:37.857778+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-03-06T09:35:37.905665+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 {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.069455s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.068412s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.086795s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.152643s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.028475s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.047765s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.110485s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.043267s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.034692s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.044738s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.036510s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.045127s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.032783s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.090566s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.069421s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.203214s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.081188s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.062006s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.105274s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.039056s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.163265s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-808fd526-858f-4320-98cc-f3d8eabf1bbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.561751+00:00", "updated_at": "2024-03-06T09:35:37.603539+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-cf39eb79-877d-432c-ba63-83f47d1bd42e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '455e5efc-6870-412a-a1ba-4dce818d1913', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7457610-e014-43fe-bca1-21b9806367c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.756618+00:00", "updated_at": "2024-03-06T09:35:37.797412+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": "455e5efc-6870-412a-a1ba-4dce818d1913"} 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-5a764124-326f-4a08-a467-3b646b3009ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.980365+00:00", "updated_at": "2024-03-06T09:35:37.998312+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/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-df84f7ed-7712-4644-a78b-b2d12254fa20 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} PATCH: /v1/ports/0009e0e7-fc9f-466b-82dd-493f6e4661ee [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1b2eecd-d13c-4e9b-b2ee-f671b58d584e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 0009e0e7-fc9f-466b-82dd-493f6e4661ee 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: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a46b7008-68a5-44f6-bb17-00576f75028f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '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-8c1874ed-ce49-4317-9f69-36cfbdb71778 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.343592+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 {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.095426s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.116651s] ... ok GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=False {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': 'e6bfc365-53d0-40ce-ad72-ba1118048939', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/e6bfc365-53d0-40ce-ad72-ba1118048939', 'rel': 'self'}, {'href': 'http://localhost/ports/e6bfc365-53d0-40ce-ad72-ba1118048939', 'rel': 'bookmark'}]}, {'uuid': '951861c3-0116-40fd-a39d-6c237a7cae49', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/951861c3-0116-40fd-a39d-6c237a7cae49', 'rel': 'self'}, {'href': 'http://localhost/ports/951861c3-0116-40fd-a39d-6c237a7cae49', 'rel': 'bookmark'}]}, {'uuid': '9d4403fe-e429-4811-91a3-c86e553fd280', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/9d4403fe-e429-4811-91a3-c86e553fd280', 'rel': 'self'}, {'href': 'http://localhost/ports/9d4403fe-e429-4811-91a3-c86e553fd280', 'rel': 'bookmark'}]}]} 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-24514578-5e95-4924-8787-03c7b7fcdd7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:38.153012+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=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f6f8a170-63be-401d-b5fe-02444c559a2d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:38.278345+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-03-06T09:35:38.278345+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/072484ce-3060-4948-8c4e-a683a587b684 {} GOT:{'uuid': '072484ce-3060-4948-8c4e-a683a587b684', 'created_at': '2024-03-06T09:35:38.333860+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'self'}, {'href': 'http://localhost/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/072484ce-3060-4948-8c4e-a683a587b684 {} GOT:{'uuid': '072484ce-3060-4948-8c4e-a683a587b684', 'created_at': '2024-03-06T09:35:38.333860+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'self'}, {'href': 'http://localhost/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/072484ce-3060-4948-8c4e-a683a587b684 {} GOT:{'uuid': '072484ce-3060-4948-8c4e-a683a587b684', 'created_at': '2024-03-06T09:35:38.333860+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'self'}, {'href': 'http://localhost/ports/072484ce-3060-4948-8c4e-a683a587b684', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:38.401121+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=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7176ef4-246f-4b0e-ba98-af97139ad950 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb5942e0-50b4-4aea-b7a3-f6d917c63a32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-616e6334-2739-45c0-91c5-51b99e62e3e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.038367s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.029684s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.040281s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.028193s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.048960s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.110186s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.042910s] ... ok GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e6651710-d84a-403c-ba37-bc45d4cb2e14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e799c39-46ec-4fa3-b026-ac316956a70e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-f82170ef-c6d9-4d28-94a3-cbb279415a58 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5c5bd9ea-5f4c-429c-b837-64b7129deadb X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/?limit=3 {} GOT:{'ports': [{'uuid': 'c4afaee8-122e-4ded-858d-a4b4a026a36f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c4afaee8-122e-4ded-858d-a4b4a026a36f', 'rel': 'self'}, {'href': 'http://localhost/ports/c4afaee8-122e-4ded-858d-a4b4a026a36f', 'rel': 'bookmark'}]}, {'uuid': '31026394-2dae-4361-82ba-5524ed58f3a8', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/31026394-2dae-4361-82ba-5524ed58f3a8', 'rel': 'self'}, {'href': 'http://localhost/ports/31026394-2dae-4361-82ba-5524ed58f3a8', 'rel': 'bookmark'}]}, {'uuid': 'a0dc7d62-d3ac-430c-a00b-7c1e62077b6c', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/a0dc7d62-d3ac-430c-a00b-7c1e62077b6c', 'rel': 'self'}, {'href': 'http://localhost/ports/a0dc7d62-d3ac-430c-a00b-7c1e62077b6c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=a0dc7d62-d3ac-430c-a00b-7c1e62077b6c'} GET: /v1/ports {} GOT:{'ports': [{'uuid': '6fbfafbb-ae51-4009-8e82-09f9bc940e15', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/6fbfafbb-ae51-4009-8e82-09f9bc940e15', 'rel': 'self'}, {'href': 'http://localhost/ports/6fbfafbb-ae51-4009-8e82-09f9bc940e15', 'rel': 'bookmark'}]}, {'uuid': '3fd7b007-523d-4e6d-b544-299b1c3fb1af', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/3fd7b007-523d-4e6d-b544-299b1c3fb1af', 'rel': 'self'}, {'href': 'http://localhost/ports/3fd7b007-523d-4e6d-b544-299b1c3fb1af', 'rel': 'bookmark'}]}, {'uuid': '072f1c13-f545-454f-968e-3e1c8affcb66', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/072f1c13-f545-454f-968e-3e1c8affcb66', 'rel': 'self'}, {'href': 'http://localhost/ports/072f1c13-f545-454f-968e-3e1c8affcb66', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=072f1c13-f545-454f-968e-3e1c8affcb66'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8cabdcf7-48da-4159-9fec-a08cde7ea1c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=True {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:37.959087+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': 'f63e1e71-e366-4069-ae57-7e5d98e3e4d8', 'created_at': '2024-03-06T09:35:38.082896+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/f63e1e71-e366-4069-ae57-7e5d98e3e4d8', 'rel': 'self'}, {'href': 'http://localhost/ports/f63e1e71-e366-4069-ae57-7e5d98e3e4d8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': 'ba57223e-3bc7-414f-86d5-cc107cfb0c4d', 'created_at': '2024-03-06T09:35:38.083890+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/ba57223e-3bc7-414f-86d5-cc107cfb0c4d', 'rel': 'self'}, {'href': 'http://localhost/ports/ba57223e-3bc7-414f-86d5-cc107cfb0c4d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:{'ports': []} 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-03-06T09:35:38.215049+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-03-06T09:35:38.302411+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 {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.168669s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.188858s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.037802s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.120841s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.042215s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.125997s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.073768s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.054711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.111539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.053496s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.046727s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.075239s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.051564s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.048644s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.180249s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9286329-da33-40bc-9071-8b1e1ff9ef04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e3647339-6b6e-4ef9-a60e-a4d8d57d171c X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b37da39-3fb1-444d-b1c0-1a2ae4b2fdbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.503383+00:00", "updated_at": "2024-03-06T09:35:38.517447+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': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6d16ae87-588a-4bcb-824a-b2c9b974595f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-78ffc89c-61ab-4a10-8597-a861b8899ad4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.570065+00:00", "updated_at": "2024-03-06T09:35:38.594217+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ece99410-7cfc-4f16-a9e7-924119bb1d6d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.622163+00:00", "updated_at": "2024-03-06T09:35:38.636691+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-48943877-e2ac-4307-87dc-2eac73acb64a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7be97077-a8c4-48be-a282-5b0f3de8516b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.700546+00:00", "updated_at": "2024-03-06T09:35:38.715760+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': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d29893bd-126f-427f-82d6-42839a5cb3dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fed82b6d-93fc-4524-ac8a-55338c91bb36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.800125+00:00", "updated_at": "2024-03-06T09:35:38.825435+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': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0fb1736-a47b-4294-9da4-d5765bd39d7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}] {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.044743s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.037878s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.112337s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.100973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.052830s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.041044s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.043047s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.220502s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.027712s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.018946s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.093701s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.019963s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.015696s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.015686s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.135653s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.016771s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.050877s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.067684s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-63dcb1a4-39d1-4b8d-ad39-d38390d8b498 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-572dc9c5-ec9f-4107-be5d-77c359aaaf3a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:37.656869+00:00", "updated_at": "2024-03-06T09:35:37.699758+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/7076d123-b2d5-4e6f-b1ca-5453426a85b8 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89fae22a-a99a-471f-8503-244e24f16f7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "7076d123-b2d5-4e6f-b1ca-5453426a85b8", "created_at": "2024-03-06T09:35:37.909958+00:00", "updated_at": "2024-03-06T09:35:37.927369+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/7076d123-b2d5-4e6f-b1ca-5453426a85b8", "rel": "self"}, {"href": "http://localhost/ports/7076d123-b2d5-4e6f-b1ca-5453426a85b8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-94f0cd04-4cc2-43a7-8883-33f39d68f442 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c9ca0cf-9853-4eff-9497-ad14f0a41a16 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bbcd85c-28ab-495c-8fec-5ff1ba37b315 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9651fbb8-6283-4614-9da5-d00a8652b808 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.453407+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff8e14a1-78a2-4a97-9585-29b055c8a935 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.637368+00:00", "updated_at": "2024-03-06T09:35:38.680830+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'fa156fe5-9381-4e04-bfe7-4cc21f5db1a4', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8c796946-1210-4fe2-b135-6047e7230315 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6e27671e-6129-4127-b5d6-8499fdcb8dd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-46856c19-94a2-486e-8541-f5ecfee619ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.963762+00:00", "updated_at": "2024-03-06T09:35:39.030616+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'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.176288s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.017691s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.061364s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.181330s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.072587s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.030281s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.051040s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.029647s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:38.343592+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-3b306a8e-799f-4938-9e25-7965f9eb8bd6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-794dab38-71bb-44af-a201-05532da312d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['physical_network']\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', '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-b2da37c1-320b-420f-8e82-8644e4a88a57 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.728429+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': 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-363091a3-f966-4b19-8591-0a7298afaa2f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:38.847387+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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b55ddf81-5dac-49ed-9a5e-6dbcfcd68b7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89dfb197-2e29-422d-841e-adc5cf80c65b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c3307ac-9c05-46da-ad9c-0d9721a9a7e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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_vif_nopxe_portgroup_standalone_ports [0.052007s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.044502s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.126935s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.026655s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.057338s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.053678s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.115767s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.074177s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.063015s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.029989s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.145117s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.058208s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.089594s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.146270s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.051463s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.071820s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.094890s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4c182a74-e977-4151-a1f3-d5f8e3b1c716 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe31db44-bed1-4cdc-8336-7a942ca146d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8640fab9-2d03-40bc-88b5-32e8cdb376d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3898ec8a-8c0a-4f69-802e-a3bc59e2c26d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.042274+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8b344714-0bbd-436c-9239-4d7e3622c3ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"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/c37bc17a-a97d-4752-8303-1afaea686dad Openstack-Request-Id: req-99a3cd37-9921-4817-8564-89973968de66 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "c37bc17a-a97d-4752-8303-1afaea686dad", "created_at": "2024-03-06T09:35:39.271816+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/c37bc17a-a97d-4752-8303-1afaea686dad", "rel": "self"}, {"href": "http://localhost/ports/c37bc17a-a97d-4752-8303-1afaea686dad", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/c37bc17a-a97d-4752-8303-1afaea686dad {} GOT:{'uuid': 'c37bc17a-a97d-4752-8303-1afaea686dad', 'created_at': '2024-03-06T09:35:39.271816+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/c37bc17a-a97d-4752-8303-1afaea686dad', 'rel': 'self'}, {'href': 'http://localhost/ports/c37bc17a-a97d-4752-8303-1afaea686dad', '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-6ef93355-b34e-44f1-83c1-75d64465a257 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d2630bda-ff7c-49f2-9ede-08b528ae26a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['physical_network']\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', '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-a02acb3d-684d-486b-8cfc-889408030631 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.187684s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.071633s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.079904s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.041998s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.034534s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.096912s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9e28af2e-9c2e-4940-a687-06e8be8bf8ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.338300+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46443e18-fcfa-4fa2-a7be-3dc689390461 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-33a58501-5690-40fa-bd14-408c54d7da44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.438357+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6b0719d0-32a5-4364-9cbe-ba1b8284f93a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.499171+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-b970a3fa-8382-4886-9dbc-13f99257bed2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-13826618-0e33-4e1d-89f1-10128efb7651 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'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-f47abcff-975a-4065-9de1-df1d56a61986 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 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_node_uuid_to_node_id_mapping [0.156255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.033132s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.035974s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07fe2394-7a65-4662-9960-adbf34ebc227 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.113944+00:00", "updated_at": "2024-03-06T09:35:39.213821+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} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22d664c6-5f0c-40e4-9fe4-27786dff55e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '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-af5952f5-aa9a-4bf1-8e54-90e89fc6a87d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.615022+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': '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-a9f2300d-c0b7-4ece-bbc7-832cb50e7efd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.690224+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-dda08c03-f58a-4405-a148-3f6867b0c9ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.760456+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0b1db8d1-a1f2-4654-9262-f6b62559890a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.811665+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': '3da06f57-0e4c-469a-b2e3-324f99c8982d', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88c3f238-6378-417c-b5d5-386d531ecdbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 3da06f57-0e4c-469a-b2e3-324f99c8982d could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.047855s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.025703s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.040444s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c35bd20-317a-4498-9bbd-27d4d0c3beec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-747672f1-62dc-4fc6-aa19-e1ae0a5058e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-03-06T09:35:38.720254+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-03-06T09:35:38.816616+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-03-06T09:35:38.856192+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': '665ccf8c-41ad-41d5-994f-fa61c93ddfc4', 'created_at': '2024-03-06T09:35:38.976735+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/665ccf8c-41ad-41d5-994f-fa61c93ddfc4', 'rel': 'self'}, {'href': 'http://localhost/ports/665ccf8c-41ad-41d5-994f-fa61c93ddfc4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports {} GOT:{'ports': [{'uuid': '4606a4c7-4356-4cd2-be27-9ed62591eb56', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/4606a4c7-4356-4cd2-be27-9ed62591eb56', 'rel': 'self'}, {'href': 'http://localhost/ports/4606a4c7-4356-4cd2-be27-9ed62591eb56', 'rel': 'bookmark'}]}, {'uuid': '4b0477a3-7652-4214-9c61-da53b83f66ef', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/4b0477a3-7652-4214-9c61-da53b83f66ef', 'rel': 'self'}, {'href': 'http://localhost/ports/4b0477a3-7652-4214-9c61-da53b83f66ef', 'rel': 'bookmark'}]}, {'uuid': '0941d1a4-d344-4b78-8483-6baccf9ceeb3', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/0941d1a4-d344-4b78-8483-6baccf9ceeb3', 'rel': 'self'}, {'href': 'http://localhost/ports/0941d1a4-d344-4b78-8483-6baccf9ceeb3', 'rel': 'bookmark'}]}, {'uuid': '4ab9a0a9-8982-4d53-9b12-23fab360ab0b', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/4ab9a0a9-8982-4d53-9b12-23fab360ab0b', 'rel': 'self'}, {'href': 'http://localhost/ports/4ab9a0a9-8982-4d53-9b12-23fab360ab0b', 'rel': 'bookmark'}]}, {'uuid': 'bb92dd48-7c5f-4116-86a4-0bc6c39d441d', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/bb92dd48-7c5f-4116-86a4-0bc6c39d441d', 'rel': 'self'}, {'href': 'http://localhost/ports/bb92dd48-7c5f-4116-86a4-0bc6c39d441d', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': 'cfae5d1c-9a03-4c70-b8de-71ffb294deae', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/cfae5d1c-9a03-4c70-b8de-71ffb294deae', 'rel': 'self'}, {'href': 'http://localhost/ports/cfae5d1c-9a03-4c70-b8de-71ffb294deae', 'rel': 'bookmark'}]}, {'uuid': 'f364cf3f-e2e9-41bc-ae4e-6f8eb7475fa7', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/f364cf3f-e2e9-41bc-ae4e-6f8eb7475fa7', 'rel': 'self'}, {'href': 'http://localhost/ports/f364cf3f-e2e9-41bc-ae4e-6f8eb7475fa7', '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=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8de06bd-f3fa-49eb-8840-bbcb72427e56 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 123 123\"}"} GET: /v1/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:{'ports': [{'uuid': '7b083a4f-e55b-4692-b4b4-a23a9584a2ef', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7b083a4f-e55b-4692-b4b4-a23a9584a2ef', 'rel': 'self'}, {'href': 'http://localhost/ports/7b083a4f-e55b-4692-b4b4-a23a9584a2ef', 'rel': 'bookmark'}]}, {'uuid': 'd54e22b5-3551-4197-8e0c-d80d0f6fca56', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d54e22b5-3551-4197-8e0c-d80d0f6fca56', 'rel': 'self'}, {'href': 'http://localhost/ports/d54e22b5-3551-4197-8e0c-d80d0f6fca56', 'rel': 'bookmark'}]}]} 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-46f1f806-9e92-4582-95fb-305230c13e05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.722005+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"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.045694s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.251039s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.106715s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.078690s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.248526s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.034341s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.151810s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.076576s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.081542s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.070000s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.043562s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.034489s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.043735s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.042421s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.107672s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.174855s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.038517s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.052024s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.199215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.050443s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.041910s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.031275s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.015514s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.135602s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.012286s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.065800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.059282s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.052208s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.197232s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'cc1ae81d-3cd0-4f1a-93dd-06b4eb41d588', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-489f6839-e52a-41c5-8e3a-d44f764a740c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.830471+00:00", "updated_at": "2024-03-06T09:35:39.904957+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": "cc1ae81d-3cd0-4f1a-93dd-06b4eb41d588"} 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-fd6ab881-fee1-4c85-95a1-472d022eac01 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/38604e04-b211-46ee-8ef7-dc1c34dc236b [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0e5fe474-5e57-4beb-a265-ce4f83f779d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d125c713-dc7a-4f18-a572-3ec25a5323c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e97f2334-3e63-43b1-a91f-011e4eaf3d67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a15774f0-251d-41dc-898e-f91f04ea8ca0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/portgroup_uuid', 'value': '8230e315-8ce7-45c3-8704-1011a763241c', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97c83b6e-3434-4b16-83a7-db676a670561 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.292673+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'cb91a602-f58e-4d58-84ee-a66e2c25ad97', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'b6727520-193d-4192-9416-52e3527e20da', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af94df7a-8021-47b5-98d7-56bdece236bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.333219+00:00", "updated_at": "2024-03-06T09:35:40.357815+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": "b6727520-193d-4192-9416-52e3527e20da"} 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-4556dcd3-cd33-49ea-a5c3-e110205dfd8d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.388669+00:00", "updated_at": "2024-03-06T09:35:40.402595+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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2aa7888c-00ce-457f-8794-d6352111150f X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.052857s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.025251s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.028336s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.049241s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.153025s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.028201s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.034770s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.040891s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.034496s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-648f4fc5-0c12-4471-9add-8bb97a7fd08c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.891622+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': {'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-af212653-6707-4e90-b1f8-f5e2b3c180bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.969493+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d718b5f0-2ce4-440f-975a-efe7b783a5c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.077852+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bf5cc8b1-af5b-440b-97df-7fbe925cf64f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f9f211d8-ed46-4628-a8f5-16cd7e459586 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f82f0765-be43-4d90-8fb6-12aa538357bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-03-06T09:35:40.391704+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?detail=True {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:40.513382+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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-768de56b-980d-4049-9dbd-45ffd970230b X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.121487s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.037944s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.191096s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-132b0330-6043-44db-9a00-b53e414b9895 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.845543+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/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-c606b65c-e974-4862-91f7-5027ea774426 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-03659ec0-5ad2-4a1e-86b8-bb93be3ae319 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83e9799c-e747-4127-861c-f536db7a2e86 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"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-f3c6e5d9-3ed0-4324-9ad4-40194d76647e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:40.304389+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?address=aa:bb:cc:dd:ee:f1 {} GOT:{'portgroups': [{'uuid': 'c7870122-b006-4ed2-9056-80a56c2b0a8e', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/c7870122-b006-4ed2-9056-80a56c2b0a8e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c7870122-b006-4ed2-9056-80a56c2b0a8e', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d18c551b-0d08-4aae-8238-30ff58635656 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eadc862d-0901-48a4-9ad6-d5280f35dc06 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e6843f46-01a3-4af4-8acf-5f2fef8ff599 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-364fe6d2-898c-463a-9f31-cdf126dfab7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c2188bdf-7cfe-41eb-840f-e10fb045e75c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/mode', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9507854-880d-42d4-9e5e-99e5896c3bed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.042186s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.026923s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c6e70549-a035-47c6-afc9-6749cb74741e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.500466+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-03-06T09:35:40.500466+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': 'invalid-format', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-710c12c0-0a75-4b61-9d12-d8b200c28470 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-1e8a5515-0077-4e1f-a0b2-e61721f81e74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-b05696f8-37cb-49d1-9e02-0749b8eac187 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.614985+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-e9e4c854-5b19-4f26-8173-437cfe3b5ceb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88ca7e7c-cd8f-4bb0-ac59-2a0bc664abb3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-0377d101-2d39-47dd-89b7-409de407d230 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.747920+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.093905s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.193230s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.029686s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.039634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.027801s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.090420s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.043472s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.055508s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.205118s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.069145s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.036487s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.046495s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.152700s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.070648s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac943265-3b31-495d-8042-fcb4611c195d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:40.766010+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/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07d16f32-80b9-4802-a852-3a9c086bada8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:40.862553+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: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-99e37d74-bbd8-4533-a3dd-df09912794a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:40.948162+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': 'de1496cc-c2ac-4fb2-8048-e9c70f422eff', 'name': '8c4fdd21-4a1e-4444-8c0a-1e041f8e5a88', '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-5225f0c8-8b88-4b40-9978-cfcc0ef75d4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9c3e5216-88db-442a-ac6b-3061f4489c40 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:40.991761+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST: /v1/portgroups {'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/e49f8c88-5bef-46d9-bf27-756459164762 Openstack-Request-Id: req-e50341a4-abc3-4802-a86b-afb54aab0103 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e49f8c88-5bef-46d9-bf27-756459164762", "created_at": "2024-03-06T09:35:41.034670+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/e49f8c88-5bef-46d9-bf27-756459164762", "rel": "self"}, {"href": "http://localhost/portgroups/e49f8c88-5bef-46d9-bf27-756459164762", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/e49f8c88-5bef-46d9-bf27-756459164762/ports", "rel": "self"}, {"href": "http://localhost/portgroups/e49f8c88-5bef-46d9-bf27-756459164762/ports", "rel": "bookmark"}]} GET: /v1/portgroups/e49f8c88-5bef-46d9-bf27-756459164762 {} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.055465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.068463s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.042589s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8175c18b-a692-427d-9384-90982dcedffe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:39.658435+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-0ebaa2f2-ac9e-413d-81d4-ac1a67ef63d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-24948843-1207-46e4-936d-b3a04bc52fbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-10897d2c-6412-47fb-a1fa-b95339e5cea8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.081455+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': '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-48848905-f0db-4650-8117-0c190975c8ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected) Failed validating 'additionalProperties' in schema[0]\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-2be13902-9c1c-43f2-8c0e-4a0c5a2c54fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'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-0029a544-0325-4ce4-949f-89e572c8fe90 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': {}, '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-3512cd18-a0c6-4219-89e3-4930c0f86ad6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-3874fea5-dae2-4f8a-836f-32a0fb8946b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.126431s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.033697s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.038252s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.061223s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.030004s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.183861s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.047514s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.065189s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.221501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.070438s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.038743s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.079371s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:40.747920+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': 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-2ed4088d-fbfd-4fc5-b6b5-e14309522e9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.866568+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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8bfd5cb5-ab12-476c-b458-304e60ea0826 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-4bdea115-d090-4b74-88bd-317781c2b22d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:40.981126+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_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-4de7dac9-3cee-47a9-8013-eed1be2b7940 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '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-76d24d5b-9242-4fe2-97bc-cd3adbe404db X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/portgroups?fields=address,uuid {} GOT:{'portgroups': [{'uuid': '7c9af01a-28c9-4e7d-b49b-f054a517b9b2', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/7c9af01a-28c9-4e7d-b49b-f054a517b9b2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7c9af01a-28c9-4e7d-b49b-f054a517b9b2', 'rel': 'bookmark'}]}, {'uuid': 'f2268796-599f-47b1-aeee-873e7130e5b5', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/f2268796-599f-47b1-aeee-873e7130e5b5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f2268796-599f-47b1-aeee-873e7130e5b5', 'rel': 'bookmark'}]}, {'uuid': '3c47f98f-4e99-4a8a-a4b1-33b0b2d2d98a', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/3c47f98f-4e99-4a8a-a4b1-33b0b2d2d98a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3c47f98f-4e99-4a8a-a4b1-33b0b2d2d98a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=3c47f98f-4e99-4a8a-a4b1-33b0b2d2d98a'} 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/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0c2f6792-e727-4c32-84ab-aacc911a500e X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.126853s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.264430s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.157606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.093777s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.133569s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.079872s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.044106s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.095726s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.048637s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.116760s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.093387s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.076496s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.077514s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.145460s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.084878s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.102359s] ... ok GOT:{'uuid': 'e49f8c88-5bef-46d9-bf27-756459164762', 'created_at': '2024-03-06T09:35:41.034670+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/e49f8c88-5bef-46d9-bf27-756459164762', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e49f8c88-5bef-46d9-bf27-756459164762', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/e49f8c88-5bef-46d9-bf27-756459164762/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e49f8c88-5bef-46d9-bf27-756459164762/ports', 'rel': 'bookmark'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-57af3aba-c590-4d22-acef-261e29aacb8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:41.092307+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-03-06T09:35:41.092307+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-c95cb5b6-22f7-46c7-b9c2-27eae568a27b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '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-0d0624fb-b810-4730-84ec-b255bf160c1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-94cb3f87-66bd-4672-8769-40bd55849398 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f092c5cc-449c-4628-8b9d-3bfcf8b28e15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-95833ff5-bdd4-42f9-9f85-0c5b9107122c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} POST: /v1/heartbeat/79205f43-07e2-4370-a673-b266f54ce5b2 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c364afc2-c870-4eab-9ad3-7bda569abb97 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 79205f43-07e2-4370-a673-b266f54ce5b2 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-3d054ce8-0656-4569-a430-99601abc6cd9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-31a54eb1-a7a9-475d-9215-1348ee7b6c0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=3ad78d8e-f9b1-4890-bb8f-a3e53e6be7e2 {} GOT:{'node': {'uuid': '3ad78d8e-f9b1-4890-bb8f-a3e53e6be7e2', '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/3ad78d8e-f9b1-4890-bb8f-a3e53e6be7e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ad78d8e-f9b1-4890-bb8f-a3e53e6be7e2', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.048927s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.032362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.121741s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.050295s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.055334s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.025445s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.060567s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.066196s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.025284s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.139168s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.053479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.069458s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.076189s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-ad2de65d-1c26-4cd8-bb57-a24c25e1c0b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-2a9b80d3-7c87-45ed-bd8b-52a76b75a24e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a123f230-5c23-4b66-89fd-f8cbbb7fb6b3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/?limit=3 {} GOT:{'portgroups': [{'uuid': '14fa0a78-3eb7-4a26-b910-11b54f779987', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/14fa0a78-3eb7-4a26-b910-11b54f779987', 'rel': 'self'}, {'href': 'http://localhost/portgroups/14fa0a78-3eb7-4a26-b910-11b54f779987', 'rel': 'bookmark'}]}, {'uuid': '82fc9605-f0dc-46b0-bd82-eb1103a9e02f', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/82fc9605-f0dc-46b0-bd82-eb1103a9e02f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/82fc9605-f0dc-46b0-bd82-eb1103a9e02f', 'rel': 'bookmark'}]}, {'uuid': '8d398667-6b06-448e-a77f-4afeaac71395', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/8d398667-6b06-448e-a77f-4afeaac71395', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8d398667-6b06-448e-a77f-4afeaac71395', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=8d398667-6b06-448e-a77f-4afeaac71395'} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': 'ad33f42e-53bf-4f76-945a-20a3f3874952', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/ad33f42e-53bf-4f76-945a-20a3f3874952', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ad33f42e-53bf-4f76-945a-20a3f3874952', 'rel': 'bookmark'}]}, {'uuid': '53226966-a223-45cb-bd4a-7fd574246549', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/53226966-a223-45cb-bd4a-7fd574246549', 'rel': 'self'}, {'href': 'http://localhost/portgroups/53226966-a223-45cb-bd4a-7fd574246549', 'rel': 'bookmark'}]}, {'uuid': '3657afc3-0387-402a-853b-81f76fad6e7e', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/3657afc3-0387-402a-853b-81f76fad6e7e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3657afc3-0387-402a-853b-81f76fad6e7e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=3657afc3-0387-402a-853b-81f76fad6e7e'} GET: /v1/portgroups/detail {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:41.701205+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?sort_key=mode {} GOT:{'portgroups': [{'uuid': '565d23cd-e2d0-4a73-9d41-f19fc5e5730e', 'created_at': '2024-03-06T09:35:41.849678+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/565d23cd-e2d0-4a73-9d41-f19fc5e5730e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/565d23cd-e2d0-4a73-9d41-f19fc5e5730e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/565d23cd-e2d0-4a73-9d41-f19fc5e5730e/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/565d23cd-e2d0-4a73-9d41-f19fc5e5730e/ports', 'rel': 'bookmark'}]}, {'uuid': 'db93c7b7-e281-4c23-873f-41d26b7fef58', 'created_at': '2024-03-06T09:35:41.848835+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/db93c7b7-e281-4c23-873f-41d26b7fef58', 'rel': 'self'}, {'href': 'http://localhost/portgroups/db93c7b7-e281-4c23-873f-41d26b7fef58', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/db93c7b7-e281-4c23-873f-41d26b7fef58/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/db93c7b7-e281-4c23-873f-41d26b7fef58/ports', 'rel': 'bookmark'}]}, {'uuid': '948d0c67-0fbb-49a5-af39-aa834c6fc8fb', 'created_at': '2024-03-06T09:35:41.847952+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/948d0c67-0fbb-49a5-af39-aa834c6fc8fb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/948d0c67-0fbb-49a5-af39-aa834c6fc8fb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/948d0c67-0fbb-49a5-af39-aa834c6fc8fb/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/948d0c67-0fbb-49a5-af39-aa834c6fc8fb/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:{'portgroups': []} GET: /v1/portgroups?node=test-node {} GOT:{'portgroups': [{'uuid': 'd3f830eb-0434-4692-9dc4-5a1c3d1b6653', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/d3f830eb-0434-4692-9dc4-5a1c3d1b6653', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d3f830eb-0434-4692-9dc4-5a1c3d1b6653', 'rel': 'bookmark'}]}, {'uuid': '6ab47126-e639-4c95-939b-c8b46eba19b4', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6ab47126-e639-4c95-939b-c8b46eba19b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6ab47126-e639-4c95-939b-c8b46eba19b4', 'rel': 'bookmark'}]}, {'uuid': '5d2433ed-022c-4ab4-b163-99a1d9f8ef95', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/5d2433ed-022c-4ab4-b163-99a1d9f8ef95', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5d2433ed-022c-4ab4-b163-99a1d9f8ef95', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.050150s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.042662s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.038746s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.039293s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.147865s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.038221s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.172611s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.012973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.032420s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.014736s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.025691s] ... ok GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:40.661695+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,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f552b9bb-85c3-44c4-b1a7-cfef020aaa97 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:41.119761+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/ee866180-53a1-4b0a-8b98-dce87163157b {} GOT:{'uuid': 'ee866180-53a1-4b0a-8b98-dce87163157b', 'created_at': '2024-03-06T09:35:41.371380+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/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b {} GOT:{'uuid': 'ee866180-53a1-4b0a-8b98-dce87163157b', 'created_at': '2024-03-06T09:35:41.371380+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/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'bookmark'}]} GET: /portgroups/ee866180-53a1-4b0a-8b98-dce87163157b {} GOT:{'uuid': 'ee866180-53a1-4b0a-8b98-dce87163157b', 'created_at': '2024-03-06T09:35:41.371380+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/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee866180-53a1-4b0a-8b98-dce87163157b/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0c7cc2f-6a3f-45df-99c5-35fcb90d4bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=uuid {} GOT:{'portgroups': [{'uuid': '4ea4e20f-60b6-4d85-ab6a-60dbbf49bd92', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/4ea4e20f-60b6-4d85-ab6a-60dbbf49bd92', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4ea4e20f-60b6-4d85-ab6a-60dbbf49bd92', 'rel': 'bookmark'}]}, {'uuid': '5e05839b-abe2-41f7-8a67-5967d3d07b55', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/5e05839b-abe2-41f7-8a67-5967d3d07b55', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5e05839b-abe2-41f7-8a67-5967d3d07b55', 'rel': 'bookmark'}]}, {'uuid': 'c43f2fdc-f763-4a74-aa88-b1be6d735132', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c43f2fdc-f763-4a74-aa88-b1be6d735132', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c43f2fdc-f763-4a74-aa88-b1be6d735132', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cfeec5e2-bc2d-4522-9dc3-de0de51522f0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-833bd2b5-32a2-46bf-a2f4-9f477d0ddaec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.288361s] ... ok GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:41.338583+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.1', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '985f4690-076c-4459-8206-d89fed746157', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/985f4690-076c-4459-8206-d89fed746157', 'rel': 'self'}, {'href': 'http://localhost/portgroups/985f4690-076c-4459-8206-d89fed746157', 'rel': 'bookmark'}]}, {'uuid': 'b5ab678f-5b6f-4817-921c-472f7687764e', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b5ab678f-5b6f-4817-921c-472f7687764e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b5ab678f-5b6f-4817-921c-472f7687764e', 'rel': 'bookmark'}]}, {'uuid': '2734f4a2-8203-4d77-bf70-b3f4ac752a34', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/2734f4a2-8203-4d77-bf70-b3f4ac752a34', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2734f4a2-8203-4d77-bf70-b3f4ac752a34', 'rel': 'bookmark'}]}, {'uuid': '5a16b7b7-b457-46d5-94a0-4bfdaab0a025', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/5a16b7b7-b457-46d5-94a0-4bfdaab0a025', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5a16b7b7-b457-46d5-94a0-4bfdaab0a025', 'rel': 'bookmark'}]}, {'uuid': 'aa4da293-4cd1-4087-ba11-eed0487c068c', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/aa4da293-4cd1-4087-ba11-eed0487c068c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/aa4da293-4cd1-4087-ba11-eed0487c068c', 'rel': 'bookmark'}]}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87bdc06f-94b5-4239-8791-d54cf2db9379 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:41.558884+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-72051b6e-74fa-4373-a854-fb705df9c5bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:41.611550+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': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a397b59-da3b-4398-b2a2-14757d608c5e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-47ad9250-1fdf-4b26-b045-1d13b310bc2d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a9ff2502-225d-4c3b-86b5-df5d93cb9a9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71d17ebf-546f-4c5d-bc2d-019f13b75391 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbebb74e-6183-4819-a55c-66303baec87c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.086409+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.058566s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.053640s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.111578s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.077619s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.125196s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.028189s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.162262s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.045741s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.037928s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.043187s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.041721s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.046805s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.084988s] ... ok GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?fields=uuid,extra {} GOT:{'portgroups': [{'uuid': '04ce83d7-9d8e-47b1-94be-a10097b2a2e6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/04ce83d7-9d8e-47b1-94be-a10097b2a2e6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/04ce83d7-9d8e-47b1-94be-a10097b2a2e6', 'rel': 'bookmark'}]}, {'uuid': '5ec9028a-33c3-4b5a-b473-98b446d8379a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/5ec9028a-33c3-4b5a-b473-98b446d8379a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5ec9028a-33c3-4b5a-b473-98b446d8379a', 'rel': 'bookmark'}]}, {'uuid': '2f74b3e2-569e-481c-bf3e-d1f0cebe1590', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/2f74b3e2-569e-481c-bf3e-d1f0cebe1590', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2f74b3e2-569e-481c-bf3e-d1f0cebe1590', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/2fe97fbd-ddd9-40f5-bdbe-98ea1166eb0a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2fe97fbd-ddd9-40f5-bdbe-98ea1166eb0a', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/6d41025a-9edf-4f15-a38f-76aae388a989', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6d41025a-9edf-4f15-a38f-76aae388a989', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=6d41025a-9edf-4f15-a38f-76aae388a989'} 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.json {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-06T09:35:42.143756+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?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-78961090-6319-4999-b6a2-2d881205a4ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} GET: /v1/portgroups/b960fd84-3f83-4544-b722-9ddb9135119e/ports {} GOT:{'ports': [{'uuid': '2324e205-8b75-422a-8b60-c51ab9493631', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'self'}, {'href': 'http://localhost/ports/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'bookmark'}]}, {'uuid': 'daf3a047-fc98-46be-b230-3e326220ba86', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/daf3a047-fc98-46be-b230-3e326220ba86', 'rel': 'self'}, {'href': 'http://localhost/ports/daf3a047-fc98-46be-b230-3e326220ba86', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/b960fd84-3f83-4544-b722-9ddb9135119e/ports/detail {} GOT:{'ports': [{'uuid': '2324e205-8b75-422a-8b60-c51ab9493631', 'created_at': '2024-03-06T09:35:42.246477+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/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'self'}, {'href': 'http://localhost/ports/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'b960fd84-3f83-4544-b722-9ddb9135119e'}, {'uuid': 'daf3a047-fc98-46be-b230-3e326220ba86', 'created_at': '2024-03-06T09:35:42.247390+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/daf3a047-fc98-46be-b230-3e326220ba86', 'rel': 'self'}, {'href': 'http://localhost/ports/daf3a047-fc98-46be-b230-3e326220ba86', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'b960fd84-3f83-4544-b722-9ddb9135119e'}]} GET: /v1/portgroups/b960fd84-3f83-4544-b722-9ddb9135119e/ports?limit=1 {} GOT:{'ports': [{'uuid': '2324e205-8b75-422a-8b60-c51ab9493631', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'self'}, {'href': 'http://localhost/ports/2324e205-8b75-422a-8b60-c51ab9493631', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=2324e205-8b75-422a-8b60-c51ab9493631'} GET: /v1/portgroups/b960fd84-3f83-4544-b722-9ddb9135119e/ports/f64fc48e-1631-4750-80d8-96d99a0ef294 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/b960fd84-3f83-4544-b722-9ddb9135119e/ports/cc7a39c6-24fb-40c0-ad39-4d5761ab69ac {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9ee019e-c6ac-4f5e-9b4b-f106b257341a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/portgroups/0e07df8e-c49f-4366-acc4-b6718eb1e9a5/ports {} 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/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?sort_key=mode {} GOT:{'portgroups': [{'uuid': '53c8663a-7b16-4e5d-8906-012cf8511e50', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/53c8663a-7b16-4e5d-8906-012cf8511e50', 'rel': 'self'}, {'href': 'http://localhost/portgroups/53c8663a-7b16-4e5d-8906-012cf8511e50', 'rel': 'bookmark'}]}, {'uuid': '759fcd1f-e524-4eb4-a82a-18c08d41f5ad', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/759fcd1f-e524-4eb4-a82a-18c08d41f5ad', 'rel': 'self'}, {'href': 'http://localhost/portgroups/759fcd1f-e524-4eb4-a82a-18c08d41f5ad', 'rel': 'bookmark'}]}, {'uuid': '0e57441f-15f5-4626-9ce4-44bc20e0a395', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/0e57441f-15f5-4626-9ce4-44bc20e0a395', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0e57441f-15f5-4626-9ce4-44bc20e0a395', 'rel': 'bookmark'}]}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.038384s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.071114s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.201922s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.060348s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.041474s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.128482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.019694s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.040996s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.123188s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.070140s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.142544s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.071223s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.048764s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.034673s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.024529s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.123675s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.155068s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3be4e8d-5c91-422d-afbd-c628cf7902e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0af6079f-a8e0-456f-9f90-3aeec0dbcb6a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.520344+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': '/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-48dae37f-9a88-46e4-8bbb-49b353add0f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.558355+00:00", "updated_at": "2024-03-06T09:35:42.562399+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-bf286a19-68e5-406d-b4d1-d65b10db1e07 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.599316+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '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-1d329050-e270-4682-ac78-ec924c06b65e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': '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-b23b1b2b-2d78-481d-b9a1-3a02db983565 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ded19aa-f720-4c47-a91b-fae01f77043f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.049501s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.024407s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.144765s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.016517s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.044906s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.045978s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5652224a-b61f-42d1-9ffa-c3bb707cac99 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:41.974375+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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-558f3465-9d7e-4b04-9d07-506048884a71 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.225045+00:00", "updated_at": "2024-03-06T09:35:42.228127+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-4a57ab57-d278-44e9-ab6c-560ec7d5a49d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.225045+00:00", "updated_at": "2024-03-06T09:35:42.228127+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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1834752b-5e96-452a-94b8-00d7f1552718 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1afdad6b-c550-48cc-85d9-a12ab6d028bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ed4c104-c366-4852-ac80-c70291d8cf04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ea31df59-5482-426c-9463-ad87a9043276 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.508205+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-6bee9b28-f310-48e6-ab9f-e497a813eb8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.623038+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-01396345-9bfd-40df-aca7-3f2f81e4d5ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}] {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.097488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.045358s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.112924s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.076500s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.034237s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.081718s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.021461s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.273292s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.017302s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.068124s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.019804s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.020239s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.065822s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.049821s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.033392s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.029570s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.179815s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.019600s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.013648s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-651ffa37-765c-45cb-b9b3-3a69925cbd43 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.177759+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', 'op': 'add', 'value': '802.3ad'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b64327c6-df89-4874-8b38-b7d1f157269d X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d131188b-38ba-4cf8-b3c2-5c1ea51065f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-dd0a2630-cf97-4740-8e50-aed077eb82a6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.436967+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-03-06T09:35:42.436967+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-057f24d4-6150-4cd7-913f-6360d8349471 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} 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-f2f7d754-bc19-4e0b-b5a5-1d499d2d4816 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8eaf7f76-3681-439d-a2db-5a243dd6a7c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-27ba60f9-d7c1-4926-a856-f3519735d5cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 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, '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-c075519d-7fa6-4345-a98f-0fee85d44cf8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:43.171237+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"}]} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.099859s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.062456s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.020417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.013181s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.013569s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.012906s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.011859s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-cc68d04a-117a-4606-b5c9-f889909993cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.780620+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-03-06T09:35:42.780620+00:00', 'updated_at': None, 'address': None, 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94aab38a-f387-4b54-9c69-1326a5bcde7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-a388f298-a3a0-4718-b57d-2da773da6273 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-bc936f02-bbac-4447-ada5-a58495448474 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:42.898151+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-03-06T09:35:42.898151+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/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'} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.515635s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.026304s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.020180s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.014969s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.020933s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.031453s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.013883s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.153789s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.020875s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.032900s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.070524s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.034959s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.029383s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.019150s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.013224s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.027573s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.013070s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.014530s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.038244s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.012634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.018731s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.028845s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.116077s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.028876s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.033987s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.066036s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.017443s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.497963s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.013905s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.015540s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.029525s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.016357s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.014482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.014981s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.117245s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.012716s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.013541s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.020157s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.015034s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.015891s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.018906s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.028944s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.027328s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.024655s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.017745s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8bb716cf-99bd-424b-a6ff-2f50cc27210b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/ad1c21f3-e19d-477a-b28f-2d25541c1279 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a01c6f3-6308-41c7-93b6-7a173f404089 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup ad1c21f3-e19d-477a-b28f-2d25541c1279 could not be found.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f21e0a9f-8959-46d4-9aeb-8e74d21c97dd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:43.016086+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-c2b3f3ac-eb12-4182-b519-3e6a5b105431 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /internal_info. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', '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-fb21cc20-abf9-4aad-8db5-46e28c18024f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:43.116195+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': '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-76f6d992-a9a2-4ce3-bda4-b4f5dcb5e0ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:43.167387+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-03-06T09:35:43.167387+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bb3182a-7ccb-4fd3-94a1-de47eadc02c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '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-e89af510-6339-4cfe-ac28-b6a8b84bf4bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6db003c-4395-46a2-80f7-5fd3bae57d7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} POST: /v1/heartbeat/39f6807f-a442-4ba9-8a94-d18e88a00076 {'callback_url': 'url'} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.040268s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.051757s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.060593s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.019714s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.018462s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.034358s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.013891s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.016870s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.013956s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.019178s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.058922s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.027484s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.021300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.017788s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.030801s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.082804s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.030534s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.021850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.049702s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.018236s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.046725s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.015176s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.027664s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.022775s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.325314s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.039106s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.038066s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.032940s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.045062s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.048771s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.079844s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.059000s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.043213s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.138399s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.056171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.053570s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.014986s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.049573s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.051818s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.097058s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.036179s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.128573s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.056621s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.070166s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.018184s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.021213s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-e6767f0b-ff3e-48e1-916d-50cbf0ed3982 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:43.422644+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7d611550-de92-452f-8b77-06798135a711 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-f9413fd6-208e-4859-b271-625c245bdaf7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-756f576e-7e22-432a-bd69-c19886171f36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-cea5e24f-ecd7-417d-b93b-51b4527384da X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 POST: /v1/heartbeat/daa56682-0096-411c-9cb5-70e225ca964d {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-67236fad-84fb-4f6c-b7b7-5de614d2dc62 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-25fbdd9e-13ef-48bb-8eb0-b08795035d38 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=10977f6f-ca60-4707-a9ff-e04ade77d4d4 {} GOT:{'node': {'uuid': '10977f6f-ca60-4707-a9ff-e04ade77d4d4', '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/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=10977f6f-ca60-4707-a9ff-e04ade77d4d4 {} GOT:{'node': {'uuid': '10977f6f-ca60-4707-a9ff-e04ade77d4d4', '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/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=10977f6f-ca60-4707-a9ff-e04ade77d4d4 {} GOT:{'node': {'uuid': '10977f6f-ca60-4707-a9ff-e04ade77d4d4', '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/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/10977f6f-ca60-4707-a9ff-e04ade77d4d4', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True}} GET: /v1/lookup?addresses=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': '5a985f6d-10be-48d1-8d5e-d357642222d7', '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/5a985f6d-10be-48d1-8d5e-d357642222d7', 'rel': 'self'}, {'href': 'http://localhost/nodes/5a985f6d-10be-48d1-8d5e-d357642222d7', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True}} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a61bee5f-88e6-4ec5-a8c6-6c0fd77580fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/lookup?node_uuid=f610fe5e-ac22-4806-bcaa-7eb293f2fddd {} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.107727s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8f1f757b-405b-45e4-be22-ab27bb4d6fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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=e398b1e7-eb3c-4fc7-9a8a-6a9637d3307d {} GOT:{'node': {'uuid': 'e398b1e7-eb3c-4fc7-9a8a-6a9637d3307d', '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/e398b1e7-eb3c-4fc7-9a8a-6a9637d3307d', 'rel': 'self'}, {'href': 'http://localhost/nodes/e398b1e7-eb3c-4fc7-9a8a-6a9637d3307d', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=262fcdb6-f0ab-49bf-a3d7-c0c26b49a47b {} GOT:{'node': {'uuid': '262fcdb6-f0ab-49bf-a3d7-c0c26b49a47b', '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/262fcdb6-f0ab-49bf-a3d7-c0c26b49a47b', 'rel': 'self'}, {'href': 'http://localhost/nodes/262fcdb6-f0ab-49bf-a3d7-c0c26b49a47b', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9853c7f7-87f3-45a9-a649-96831a04d2a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/ {} 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/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-140e86cd-967e-44eb-a26d-c7bf2ae6702e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-99433daa-8c86-40da-b324-0c2dd6cd372c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} 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?fields=uuid,extra {} GOT:{'connectors': [{'uuid': '5b2cc1d3-c567-4605-b4e1-62a9efe6f88c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/5b2cc1d3-c567-4605-b4e1-62a9efe6f88c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5b2cc1d3-c567-4605-b4e1-62a9efe6f88c', 'rel': 'bookmark'}]}, {'uuid': 'f2243848-b8ce-43ec-8474-46c0c6bb7f8a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/f2243848-b8ce-43ec-8474-46c0c6bb7f8a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f2243848-b8ce-43ec-8474-46c0c6bb7f8a', 'rel': 'bookmark'}]}, {'uuid': '2d187272-b90a-4bab-8e04-7a6c4a925079', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/2d187272-b90a-4bab-8e04-7a6c4a925079', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2d187272-b90a-4bab-8e04-7a6c4a925079', 'rel': 'bookmark'}]}]} 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-78664a4d-9fca-4b4b-808d-1fec3a47d5ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa {} GOT:{'uuid': '2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'created_at': '2024-03-06T09:35:44.338166+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa {} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.237172s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.194769s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.321230s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.017752s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.158407s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.020722s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.014959s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.014285s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.015053s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.017330s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.104550s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.096386s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.029913s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.297266s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.045781s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.018277s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.016119s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.017051s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.090171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.013604s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.014620s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.013605s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.152529s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.012700s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.072886s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.023037s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.037525s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.195877s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.024863s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.055346s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.014268s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.072334s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.067978s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.056067s] ... ok 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-8f34a6f3-0855-4eff-85f2-18bf4b41a866 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-7fbe5620-aa77-40bd-8286-91bb3371b963 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-2642294f-6908-4151-9dfc-b9c1ae3be71f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-994aad0e-8ce6-4242-8aac-d976f03fb1a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-0d896d9d-6b19-4c77-988b-44a88eb53f39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aef78514-29fa-44e7-8e17-dd5bf95142ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=7112110f-4ac3-4105-aaf4-bc9792af7c26 {} GOT:{'node': {'uuid': '7112110f-4ac3-4105-aaf4-bc9792af7c26', '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/7112110f-4ac3-4105-aaf4-bc9792af7c26', 'rel': 'self'}, {'href': 'http://localhost/nodes/7112110f-4ac3-4105-aaf4-bc9792af7c26', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ab848260-61a4-42da-be02-da6206956d1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e0971fda-58ae-4fa3-a7eb-af58d86e4fea {} GOT:{'node': {'uuid': 'e0971fda-58ae-4fa3-a7eb-af58d86e4fea', '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/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', 'rel': 'self'}, {'href': 'http://localhost/nodes/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e0971fda-58ae-4fa3-a7eb-af58d86e4fea {} GOT:{'node': {'uuid': 'e0971fda-58ae-4fa3-a7eb-af58d86e4fea', '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/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', 'rel': 'self'}, {'href': 'http://localhost/nodes/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e0971fda-58ae-4fa3-a7eb-af58d86e4fea {} GOT:{'node': {'uuid': 'e0971fda-58ae-4fa3-a7eb-af58d86e4fea', '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/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', 'rel': 'self'}, {'href': 'http://localhost/nodes/e0971fda-58ae-4fa3-a7eb-af58d86e4fea', '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}} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-020af90a-85d8-41ab-9d51-8b8e564a3a72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/connectors/?limit=3 {} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.037852s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.031167s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.015796s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.032088s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.093319s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.023404s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.057595s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.040039s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.089795s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.034383s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.024340s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.053074s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.030975s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.040342s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.035424s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.017139s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.075993s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.035199s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.037641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.285358s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.038106s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.052159s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.074578s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.074794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.035226s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.055813s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.019349s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.054949s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.022029s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.021416s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.023380s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.172239s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.078109s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.032808s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.039954s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.017743s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.024828s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.061834s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.043542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.024409s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.026362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.026865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.031053s] ... ok GOT:{'connectors': [{'uuid': '6296bedb-697c-4fec-99ab-4a0328b41547', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6296bedb-697c-4fec-99ab-4a0328b41547', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6296bedb-697c-4fec-99ab-4a0328b41547', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '44647165-6cca-4a6c-af82-1186627d447d', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/44647165-6cca-4a6c-af82-1186627d447d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/44647165-6cca-4a6c-af82-1186627d447d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '47a7c827-c551-43d4-9bc8-f0a5bf771614', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/47a7c827-c551-43d4-9bc8-f0a5bf771614', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/47a7c827-c551-43d4-9bc8-f0a5bf771614', '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=47a7c827-c551-43d4-9bc8-f0a5bf771614'} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbcc5f18-5b39-4d20-bf9f-e46610d210e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f571f26-c492-4b4a-bb0a-e96ac9a722e5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors?node=test-node {} GOT:{'connectors': [{'uuid': '909929dd-9c44-4046-bb4a-3827b3a0146b', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/909929dd-9c44-4046-bb4a-3827b3a0146b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/909929dd-9c44-4046-bb4a-3827b3a0146b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '590d8234-acaa-460b-9577-5b0b4d7014e3', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/590d8234-acaa-460b-9577-5b0b4d7014e3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/590d8234-acaa-460b-9577-5b0b4d7014e3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '57e57715-2415-4704-bafb-d53c69eb5a50', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/57e57715-2415-4704-bafb-d53c69eb5a50', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/57e57715-2415-4704-bafb-d53c69eb5a50', '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/66263389-4c92-4dad-9028-8a9e0b6e4634', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/66263389-4c92-4dad-9028-8a9e0b6e4634', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/dde39149-f794-4b60-a8d2-b14e71a00273', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/dde39149-f794-4b60-a8d2-b14e71a00273', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=dde39149-f794-4b60-a8d2-b14e71a00273'} GET: /v1/volume/connectors {} 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-e8fcd3c0-5e60-4305-b570-c1159d083e46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d6211ff9-bbcd-42a8-a98c-376170dc38d8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9a84b5a-b776-4d17-9f04-324a48ccc572 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-30992b27-cfc7-464d-81f3-ccd722162c2a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8420c8d9-995c-47a7-a23c-9952d13e7a72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dd1d9b0e-68f2-465f-8912-c388a77f025a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"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'} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.190028s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.021879s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.241870s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.145114s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.019158s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.018471s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.025844s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.015532s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.017683s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.051244s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.024806s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.015276s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.043572s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.034878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.036569s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.205840s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.072773s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.042603s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.021907s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.259837s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.112146s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.059434s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.014486s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.019574s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.015350s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.014912s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.102888s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.030087s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.014970s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.195002s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.016030s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.026626s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.058380s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.032850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.031734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.016712s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.034348s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.015138s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.013966s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.017145s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.013639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.047868s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.021539s] ... ok GOT:{'uuid': '2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'created_at': '2024-03-06T09:35:44.338166+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa {} GOT:{'uuid': '2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'created_at': '2024-03-06T09:35:44.338166+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2b599f70-4cda-4a7e-85aa-5eb8a5d80caa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f80b85ff-9656-4402-84e1-b1892c1dd275 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:44.734424+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': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fbd0e7a-090a-4d1b-a3f4-bd0043d6392e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:44.889853+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-6e1e9e1d-6a00-4068-97c3-cc11ed8321f0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1e276ebf-e44f-4ec1-a890-81ade034d42f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-824c2a86-f9f6-4d9d-8d8f-da73030772d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:45.184676+00:00", "updated_at": "2024-03-06T09:35:45.211190+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/0d316a8c-c484-43d1-a573-1308b40162e0 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd1393f2-0ad6-4c32-aa9d-c0f4e3e58de8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 0d316a8c-c484-43d1-a573-1308b40162e0 could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7f5d9cf3-80b9-46a6-a672-ba7c14888d05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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-4536d3cf-f357-4c6b-a1a5-f2cea525bf18 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.186100s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.026057s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.018437s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.039093s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.037782s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.023333s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.252927s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.070743s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.059569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.025906s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.167028s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.036488s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-78ee5a12-71a0-463c-bd9e-6af9f7e5c7bb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 39f6807f-a442-4ba9-8a94-d18e88a00076 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-bea3eafe-ed7f-47f2-93f1-eb0b2d2fed38 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-65f4d47f-b0e1-4359-96c0-d0a561f8a75a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-6faed52b-56a9-4d97-b79c-7184341518bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9498ab18-e3a2-4313-ba8b-199d28486e19 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aa6dafe0-46a9-45ab-98fc-cfca367da603 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-b46d2b1a-3bdf-49a1-a549-a46255c43b77 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 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-67d55833-cd5a-403f-bcb3-1ef972aaf776 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ac00041c-01f7-4180-8609-ef227db8834d {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9bb5462e-ef2c-4da8-a8e4-9c1f2b6d3e16 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '6ccc7413-0d19-4141-8a67-944cab87fb74', '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/6ccc7413-0d19-4141-8a67-944cab87fb74', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ccc7413-0d19-4141-8a67-944cab87fb74', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} GET: /v1/lookup?node_uuid=57bc0ff9-693f-45ab-8903-52778faf8f80 {} GOT:{'node': {'uuid': '57bc0ff9-693f-45ab-8903-52778faf8f80', '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/57bc0ff9-693f-45ab-8903-52778faf8f80', 'rel': 'self'}, {'href': 'http://localhost/nodes/57bc0ff9-693f-45ab-8903-52778faf8f80', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=dee5ea47-fe89-46c6-81f4-6e9b3bdec7db {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-559f842c-69d9-40bd-af8c-0ef1c2569ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '132a1ff5-6f9a-4823-8802-f002da547c0c', '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/132a1ff5-6f9a-4823-8802-f002da547c0c', 'rel': 'self'}, {'href': 'http://localhost/nodes/132a1ff5-6f9a-4823-8802-f002da547c0c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} GET: /v1/lookup?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-5140c311-8ac6-48e5-a768-5ad51f34cb01 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=411c5131-ff33-4c27-b03d-62902720c5a4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a7906c6-56c5-4a2d-8faa-2fad66116c39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.047900s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.041865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.070169s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.111532s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.054710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.224454s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.090074s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.073003s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.171279s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.126102s] ... ok GOT:{'node': {'uuid': 'f610fe5e-ac22-4806-bcaa-7eb293f2fddd', '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/f610fe5e-ac22-4806-bcaa-7eb293f2fddd', 'rel': 'self'}, {'href': 'http://localhost/nodes/f610fe5e-ac22-4806-bcaa-7eb293f2fddd', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} GET: /v1/lookup?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': '1d1c111f-bc2d-4a20-933e-46978f672fa2', '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/1d1c111f-bc2d-4a20-933e-46978f672fa2', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d1c111f-bc2d-4a20-933e-46978f672fa2', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True}} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd623464-a098-4070-821a-a78a4729580b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, '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.72'}} 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.72'}} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8582325b-7d4d-4536-8e75-61958174d78b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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?detail=True {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:46.568523+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=True&node=test-node {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:46.620868+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors {} GOT:{'connectors': []} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.040069s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.043139s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.118287s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.090861s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.051693s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.048205s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.088734s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.060475s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.124595s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.071352s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.119466s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-bbef9289-3c23-46d6-920a-56d442d8d769 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:45.737843+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-03-06T09:35:45.737843+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'} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-6129d2e8-c67f-48d5-bbd3-6df9c972dd65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/volume/targets/?limit=3 {} GOT:{'targets': [{'uuid': '5f031c1a-a53a-41e4-8135-0024a8fcbf1f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/5f031c1a-a53a-41e4-8135-0024a8fcbf1f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5f031c1a-a53a-41e4-8135-0024a8fcbf1f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '11d0309a-27b8-4b56-a118-aa16c1659443', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/11d0309a-27b8-4b56-a118-aa16c1659443', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/11d0309a-27b8-4b56-a118-aa16c1659443', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5a28239a-8e2a-456a-9ce7-e63d5701cf20', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/5a28239a-8e2a-456a-9ce7-e63d5701cf20', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5a28239a-8e2a-456a-9ce7-e63d5701cf20', '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=5a28239a-8e2a-456a-9ce7-e63d5701cf20'} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': 'a8e85c65-0a99-4a10-bb49-4f387ed2ce1f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a8e85c65-0a99-4a10-bb49-4f387ed2ce1f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a8e85c65-0a99-4a10-bb49-4f387ed2ce1f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '23afe870-04f9-43ed-9de3-f5762fd02e82', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/23afe870-04f9-43ed-9de3-f5762fd02e82', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/23afe870-04f9-43ed-9de3-f5762fd02e82', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a1d53ce9-d381-4b11-8e61-83c524bb10cf', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a1d53ce9-d381-4b11-8e61-83c524bb10cf', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a1d53ce9-d381-4b11-8e61-83c524bb10cf', '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=a1d53ce9-d381-4b11-8e61-83c524bb10cf'} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': '0d199fca-63f2-41b9-a99c-c629b0a731e2', 'created_at': '2024-03-06T09:35:46.580321+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/0d199fca-63f2-41b9-a99c-c629b0a731e2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0d199fca-63f2-41b9-a99c-c629b0a731e2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '75ee9242-9784-4f9f-9ce4-2f6bdaac6e66', 'created_at': '2024-03-06T09:35:46.581255+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/75ee9242-9784-4f9f-9ce4-2f6bdaac6e66', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/75ee9242-9784-4f9f-9ce4-2f6bdaac6e66', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '13846815-1c1d-4882-bbe9-90cee31af4ce', 'created_at': '2024-03-06T09:35:46.582090+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/13846815-1c1d-4882-bbe9-90cee31af4ce', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/13846815-1c1d-4882-bbe9-90cee31af4ce', '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=13846815-1c1d-4882-bbe9-90cee31af4ce'} GET: /v1/volume/targets?node=test-node {} GOT:{'targets': [{'uuid': '3aa7ceb5-bcb1-4386-9c76-2a7aaaa92bfc', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/3aa7ceb5-bcb1-4386-9c76-2a7aaaa92bfc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3aa7ceb5-bcb1-4386-9c76-2a7aaaa92bfc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ce6a85a6-47c5-48b5-a56e-b89e2c58e6e1', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ce6a85a6-47c5-48b5-a56e-b89e2c58e6e1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ce6a85a6-47c5-48b5-a56e-b89e2c58e6e1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e2112d4c-dfa8-4d84-9fef-76bc0f3717a6', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e2112d4c-dfa8-4d84-9fef-76bc0f3717a6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e2112d4c-dfa8-4d84-9fef-76bc0f3717a6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?fields=uuid,extra {} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.231235s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.093064s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.090713s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.123914s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.096509s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.081065s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.071265s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.118551s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.343640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.104634s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.151742s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.072772s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-dca48c2a-7f07-4f32-9a2a-2d2311f61e44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'f3624cec-0331-49c2-93de-bc543a50892f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/f3624cec-0331-49c2-93de-bc543a50892f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f3624cec-0331-49c2-93de-bc543a50892f', 'rel': 'bookmark'}]}, {'uuid': '661e3fac-356b-4f62-81a7-51f58c6e9d6d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/661e3fac-356b-4f62-81a7-51f58c6e9d6d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/661e3fac-356b-4f62-81a7-51f58c6e9d6d', 'rel': 'bookmark'}]}, {'uuid': 'b15706cd-d705-41ca-bab2-78dd7222c662', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b15706cd-d705-41ca-bab2-78dd7222c662', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b15706cd-d705-41ca-bab2-78dd7222c662', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=b15706cd-d705-41ca-bab2-78dd7222c662'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '8770964d-7e7b-4870-9832-ffaea0232bc8', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8770964d-7e7b-4870-9832-ffaea0232bc8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8770964d-7e7b-4870-9832-ffaea0232bc8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '750087e9-ff10-4a5d-9339-e0e051b71790', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/750087e9-ff10-4a5d-9339-e0e051b71790', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/750087e9-ff10-4a5d-9339-e0e051b71790', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd9068cfa-9ce9-47ca-bee6-0e53e7edfd75', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d9068cfa-9ce9-47ca-bee6-0e53e7edfd75', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d9068cfa-9ce9-47ca-bee6-0e53e7edfd75', '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=d9068cfa-9ce9-47ca-bee6-0e53e7edfd75'} GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{'connectors': [{'uuid': 'ec31297f-524f-4832-ab5f-e5a6dbf6d8b8', 'created_at': '2024-03-06T09:35:46.794105+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ec31297f-524f-4832-ab5f-e5a6dbf6d8b8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ec31297f-524f-4832-ab5f-e5a6dbf6d8b8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '095f035f-eb4c-41da-a996-1dce88ed8119', 'created_at': '2024-03-06T09:35:46.794997+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/095f035f-eb4c-41da-a996-1dce88ed8119', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/095f035f-eb4c-41da-a996-1dce88ed8119', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3d83be30-5ef4-47d5-9acc-6737d0282b74', 'created_at': '2024-03-06T09:35:46.795789+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3d83be30-5ef4-47d5-9acc-6737d0282b74', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3d83be30-5ef4-47d5-9acc-6737d0282b74', '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=3d83be30-5ef4-47d5-9acc-6737d0282b74'} 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 {} 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'}]} 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-f79f801e-566d-46ab-8802-caa370889ecb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1746e5ad-c14b-46f0-8d75-bd677f92cd90 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd34a1bd-f841-42d3-ac4f-33a136ffc925 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.293232+00:00", "updated_at": "2024-03-06T09:35:47.296457+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-db3e6143-9d34-4051-86b2-9eceabb5cc8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.293232+00:00", "updated_at": "2024-03-06T09:35:47.296457+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.155565s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.077084s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:46.731843+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?fields=connector_id,extra {} GOT:{'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': 'c263d810-cc34-40f3-abd2-64b23a193807', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/c263d810-cc34-40f3-abd2-64b23a193807', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c263d810-cc34-40f3-abd2-64b23a193807', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8af7a3d8-aab5-4c5c-85b2-73361928ea0d', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8af7a3d8-aab5-4c5c-85b2-73361928ea0d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8af7a3d8-aab5-4c5c-85b2-73361928ea0d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7db38298-cf1b-4cd2-843b-761a6be45e11', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7db38298-cf1b-4cd2-843b-761a6be45e11', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7db38298-cf1b-4cd2-843b-761a6be45e11', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4ce63672-5278-4bd8-9d5b-3617dd397a0c', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4ce63672-5278-4bd8-9d5b-3617dd397a0c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4ce63672-5278-4bd8-9d5b-3617dd397a0c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e2207653-25a2-4248-9cae-fa217497ab69', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e2207653-25a2-4248-9cae-fa217497ab69', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e2207653-25a2-4248-9cae-fa217497ab69', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors?sort_key=uuid {} GOT:{'connectors': [{'uuid': '022c4108-bf55-4a9d-a49b-f7fc4c543442', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/022c4108-bf55-4a9d-a49b-f7fc4c543442', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/022c4108-bf55-4a9d-a49b-f7fc4c543442', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0c47ec84-2020-408f-9b7c-5237876218a7', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0c47ec84-2020-408f-9b7c-5237876218a7', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0c47ec84-2020-408f-9b7c-5237876218a7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0e94f831-3680-41d9-8767-4f4f12a95177', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0e94f831-3680-41d9-8767-4f4f12a95177', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0e94f831-3680-41d9-8767-4f4f12a95177', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8e7cc77-eacf-4866-b032-bd4ace72d2fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:46.931098+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3e39c77-b53a-434f-b3a0-ae4344cc5471 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:46.976896+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08f95292-adab-4c27-b7af-e8787f8e1ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.101114+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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/5089599a-8e67-4b99-b2c7-f4d12735a211 Openstack-Request-Id: req-7ed0c72e-a047-48b9-a807-de0ecf84e795 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "5089599a-8e67-4b99-b2c7-f4d12735a211", "created_at": "2024-03-06T09:35:47.352365+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/5089599a-8e67-4b99-b2c7-f4d12735a211", "rel": "self"}, {"href": "http://localhost/volume/connectors/5089599a-8e67-4b99-b2c7-f4d12735a211", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/5089599a-8e67-4b99-b2c7-f4d12735a211 {} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.160398s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.067584s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.079947s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.080076s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.083317s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.138367s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.088116s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.043490s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.073004s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.089290s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0c8a66c-f86e-4dd6-af34-feb18a341ba0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa3db13d-e930-447d-9023-4ecdaa15301c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d933bc6e-6112-41b1-a69e-c9fab44932f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': '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-6e4ee4ef-5522-43fa-88fb-02545f4df622 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} 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 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:47.006631+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?sort_key=uuid {} GOT:{'targets': [{'uuid': '1baab64a-2c18-42a4-91d1-f9d58c51b869', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1baab64a-2c18-42a4-91d1-f9d58c51b869', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1baab64a-2c18-42a4-91d1-f9d58c51b869', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '44f4554f-1d16-4c86-b45c-359663275298', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/44f4554f-1d16-4c86-b45c-359663275298', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/44f4554f-1d16-4c86-b45c-359663275298', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c7d72ebe-4b81-4736-a5f4-309638fc74e1', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c7d72ebe-4b81-4736-a5f4-309638fc74e1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c7d72ebe-4b81-4736-a5f4-309638fc74e1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-9820b4f3-80e8-483e-a5bf-8518534ac3d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.200752+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54786ecf-b5a2-4eca-aa8f-a44f2a850454 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.312294+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cdf711d-b71a-4751-90e7-1b88f55fc0a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f64a3aa-fb01-4d0e-942b-9aca23c9f041 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5cf5505-778a-47f2-b2d8-fd66b83169a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.136165s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.246505s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.060888s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.106595s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.135439s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.099164s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.155389s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.168385s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.087060s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.152018s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.062569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.033125s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.109168s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.152711s] ... ok POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d5b8e01e-f919-4e53-aa10-b14845d24e0f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-09d92783-ab11-4665-a2fe-28dc335fca95 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property Failed validating 'required' in schema\", \"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-f418a39d-3926-475a-84e7-df6082cd0a12 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:47.847024+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": "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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} uuid {node_uuid} driver fake-hardware ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f418a39d-3926-475a-84e7-df6082cd0a12 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:47.847024+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": "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/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 GET: /v1 {} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.086370s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.060865s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88838d37-6cb7-4e79-9b9a-38214209faaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "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-88838d37-6cb7-4e79-9b9a-38214209faaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "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-7d7e6e90-ee69-48a3-9c6e-1c9196c63215 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "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.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.102840s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.110951s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.080930s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.066983s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.026466s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.033384s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.026542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.025449s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.043023s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.161374s] ... ok GOT:{'uuid': '5089599a-8e67-4b99-b2c7-f4d12735a211', 'created_at': '2024-03-06T09:35:47.352365+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/5089599a-8e67-4b99-b2c7-f4d12735a211', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5089599a-8e67-4b99-b2c7-f4d12735a211', '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-c69f9b5c-01c7-4803-93aa-653720043ab0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': '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-6b6481e0-80f9-42e1-9cb8-3470cc5bd0a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.570843+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-03-06T09:35:47.570843+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-81daf757-d312-4b88-b5dc-97d90cc113b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.631175+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae3e66bd-c12b-4759-9b95-8dcb0cf27b95 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': '80c5535f-dd86-4732-9f45-76150fab4c97', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/80c5535f-dd86-4732-9f45-76150fab4c97', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/80c5535f-dd86-4732-9f45-76150fab4c97', 'rel': 'bookmark'}]}, {'uuid': 'a4bee105-567f-4eeb-ba4e-808a868dbc00', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a4bee105-567f-4eeb-ba4e-808a868dbc00', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a4bee105-567f-4eeb-ba4e-808a868dbc00', 'rel': 'bookmark'}]}, {'uuid': 'f8c7fcba-e8d5-4c7e-b540-8446d8e1de6c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/f8c7fcba-e8d5-4c7e-b540-8446d8e1de6c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f8c7fcba-e8d5-4c7e-b540-8446d8e1de6c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=f8c7fcba-e8d5-4c7e-b540-8446d8e1de6c'} GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:48.049254+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/345a85fc-ee02-4e16-9159-ab4f8c91ee00', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/345a85fc-ee02-4e16-9159-ab4f8c91ee00', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/847e4f0e-3e77-485d-a8c9-5f242e7dc4fd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/847e4f0e-3e77-485d-a8c9-5f242e7dc4fd', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=847e4f0e-3e77-485d-a8c9-5f242e7dc4fd'} 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-671d0c37-d4f0-4abe-8512-132d55441328 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.064027s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.034803s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.103264s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.067310s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00002_nodes_post_admin [0.503710s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82ec1265-5384-4df3-ac17-db909ab4a89d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6ce9217c-f01e-4b5a-8955-db6cd178f930 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75aa8434-715b-425a-8b7b-8828ab232da8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79e5d530-9b87-4ab5-a16e-1467c27e0515 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce87ff27-fb7c-4944-9546-b6af7ec5ab03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.782376+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"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-257e7141-fc66-4c65-9c99-6332cf9ffc48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:47.933328+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': '7556a980-a432-420f-baf6-d645c112fdc4', '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-829df72f-c416-4de0-ac8b-f148ff9f9072 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-be69a79c-2818-474f-95d0-86b0e361500a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/targets?detail=True {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:48.210639+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ee90d0f-4ced-4818-b852-c5a0b1d7d51c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4d37eb74-054e-484d-ba38-2667dab35436 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46736dd9-2ca9-4e97-8899-a429e2622b07 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{'boot_index': 0, 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599 {} GOT:{'uuid': 'f6dc650b-38f9-439b-8da4-0a8060014599', 'created_at': '2024-03-06T09:35:48.404466+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/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599 {} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.154757s] ... ok GOT:{'targets': [{'uuid': 'a8836d91-643b-44d8-888e-f6f0bf8e9297', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a8836d91-643b-44d8-888e-f6f0bf8e9297', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a8836d91-643b-44d8-888e-f6f0bf8e9297', 'rel': 'bookmark'}]}, {'uuid': '37fa7788-510e-4511-bfe7-739da7fdec42', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/37fa7788-510e-4511-bfe7-739da7fdec42', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/37fa7788-510e-4511-bfe7-739da7fdec42', 'rel': 'bookmark'}]}, {'uuid': '1998319b-3fd1-4b51-b3ac-f01ba68c45fd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1998319b-3fd1-4b51-b3ac-f01ba68c45fd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1998319b-3fd1-4b51-b3ac-f01ba68c45fd', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '368cd5ff-9353-43fd-9038-847f4d055541', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/368cd5ff-9353-43fd-9038-847f4d055541', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/368cd5ff-9353-43fd-9038-847f4d055541', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e080c081-0aaa-4e8d-af09-1d807254ea21', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e080c081-0aaa-4e8d-af09-1d807254ea21', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e080c081-0aaa-4e8d-af09-1d807254ea21', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7f719c61-a1c2-4f5f-a7d0-d0b33d29a11b', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7f719c61-a1c2-4f5f-a7d0-d0b33d29a11b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7f719c61-a1c2-4f5f-a7d0-d0b33d29a11b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b57f69fd-42c8-4391-8adf-957b2a4e7a78', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b57f69fd-42c8-4391-8adf-957b2a4e7a78', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b57f69fd-42c8-4391-8adf-957b2a4e7a78', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a27e814e-5a2c-451a-b779-eb8ca4d769b6', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a27e814e-5a2c-451a-b779-eb8ca4d769b6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a27e814e-5a2c-451a-b779-eb8ca4d769b6', '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-e207ba7a-70be-4f0b-8643-8db6ba3f0846 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d7037b37-c14d-4e49-be22-3b15211cb758 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d11f0229-1f4c-449e-af62-bdd5807a75b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b33319c5-062a-47f7-a971-60f378b3d2b1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47b2443f-b27e-4fba-bef1-0ac4d76ce78a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-93d28085-824a-4319-a846-8c766bee71e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-09e01537-6ab5-47bf-b4fa-ca3239c81299 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, '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-a810be38-e619-4f24-8f8f-c63958e1f9a9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dfa7281b-2101-4a2a-b472-f1b778f7d4b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dfa7281b-2101-4a2a-b472-f1b778f7d4b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.160655s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.131990s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.167540s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.186812s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.099817s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.141783s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.057150s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.337452s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.118740s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.083791s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.181553s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.191731s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.152595s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26ec45c5-4987-4c66-95e6-87c414d430d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:48.284469+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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93d7a964-fa67-4426-b9c4-132c04036333 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6e8aacc-b032-452f-9974-8b7dc7fbfcc9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:48.371408+00:00", "updated_at": "2024-03-06T09:35:48.378116+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-bca879d2-5496-4ab9-8b4c-43abd2b77b25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:48.371408+00:00", "updated_at": "2024-03-06T09:35:48.378116+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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3eaa7d3-39c8-49da-a3d0-91720e2bf3f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ba8df1b0-a812-4fae-b7ba-a30cd5053b43 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f08515a-eac8-4a3e-a609-04ded8d99646 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71aa0198-d5b3-40c8-8cc3-5e60d457ede8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:48.828413+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': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e401cfb6-128d-4cae-a878-125f76b51a8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:48.919532+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'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-fa9478a4-6b23-4924-9424-0e5737728b8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:49.092453+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 {} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.075807s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.301504s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.055735s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d7e6e90-ee69-48a3-9c6e-1c9196c63215 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c7522c0e-4a04-4e13-be38-ebb75122d09e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c7522c0e-4a04-4e13-be38-ebb75122d09e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-17c6f65e-8c10-4e42-b0dc-e783ed856c53 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-17c6f65e-8c10-4e42-b0dc-e783ed856c53 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3009dd93-9fe1-4856-9583-0f3178c53c74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3009dd93-9fe1-4856-9583-0f3178c53c74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.168004s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.110601s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.100920s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.192404s] ... ok POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-17412e57-ae6f-451f-aeb0-ff63cd0875f5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-17412e57-ae6f-451f-aeb0-ff63cd0875f5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3b42e44a-f0da-4a51-931c-e6f19660b956 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:48.732795+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-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, "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-3b42e44a-f0da-4a51-931c-e6f19660b956 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:48.732795+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-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, "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-17ece1a4-3236-43d2-8872-47146fd2f946 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-17ece1a4-3236-43d2-8872-47146fd2f946 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.168738s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.117319s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.165427s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.099832s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.355095s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.260340s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.068973s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.125044s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62b4b63a-a746-4b6b-8cb9-80a256d25b2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:49.066874+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-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, "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-62b4b63a-a746-4b6b-8cb9-80a256d25b2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:49.066874+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-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, "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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6263d4b-c4f5-4d7b-8720-593566241fcf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f6263d4b-c4f5-4d7b-8720-593566241fcf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3812564-3fe6-4d29-8fa7-b8070df942c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3812564-3fe6-4d29-8fa7-b8070df942c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8025458f-a045-4c79-afa2-ac7eda4d7227 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.170000s] ... ok GOT:{'uuid': 'f6dc650b-38f9-439b-8da4-0a8060014599', 'created_at': '2024-03-06T09:35:48.404466+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/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599 {} GOT:{'uuid': 'f6dc650b-38f9-439b-8da4-0a8060014599', 'created_at': '2024-03-06T09:35:48.404466+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/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f6dc650b-38f9-439b-8da4-0a8060014599', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets {} 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': '/boot_index', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5492734e-b0ca-4340-a7b1-a3bd3bbf4b94 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7f1c8f4-ee67-4395-8252-d1f8e079b00f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/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-2d5a673f-d5ff-4b40-9273-65ff2c7f2dbb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:49.036883+00:00", "updated_at": "2024-03-06T09:35:49.043079+00:00", "boot_index": 0, "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-51ba0c45-3f63-455a-9a72-44cbe0e1b6a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb4795f2-c930-4204-8926-a459c57f0ae8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:49.289723+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": "bar"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/targets/c36f596a-3bcc-4c3d-b6d1-53bb217225e1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ce64c1bc-0db9-40ce-9aba-31b8b752ec16 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target c36f596a-3bcc-4c3d-b6d1-53bb217225e1 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/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e Openstack-Request-Id: req-3703ee13-be99-4084-be61-023b027b121f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "333e4127-8e7c-49ee-bd2e-53ba54b7cf5e", "created_at": "2024-03-06T09:35:49.643254+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/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e", "rel": "self"}, {"href": "http://localhost/volume/targets/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e {} GOT:{'uuid': '333e4127-8e7c-49ee-bd2e-53ba54b7cf5e', 'created_at': '2024-03-06T09:35:49.643254+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/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/333e4127-8e7c-49ee-bd2e-53ba54b7cf5e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.100807s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.053144s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.183406s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.324788s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-06T09:35:49.092453+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'foo': 123}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} API ACL Testing Path get / GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6709473-b4c2-44ce-9f5d-e6849905102d {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6709473-b4c2-44ce-9f5d-e6849905102d {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}]} API ACL Testing Path get /v1/ GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93c0aa86-443b-454a-b60d-71beaa5cba1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "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-93c0aa86-443b-454a-b60d-71beaa5cba1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.72"}, "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 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00005_nodes_get_node_admin [0.239312s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.083160s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.198357s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.327333s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.501005s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cfed87da-5826-4247-b8ba-edd0e7d86259 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:49.742707+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-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, "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-cfed87da-5826-4247-b8ba-edd0e7d86259 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:49.742707+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-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, "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-8b54cc10-6358-4da2-8be3-953af2b3a17e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8b54cc10-6358-4da2-8be3-953af2b3a17e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.339800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.039961s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_provision_put_admin [0.311457s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.064610s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.049652s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.318415s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_provision_put_observer [0.262194s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.066294s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49fc3320-ba77-4e6a-8fe7-72a38a057bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.135723+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-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, "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-49fc3320-ba77-4e6a-8fe7-72a38a057bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.135723+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-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, "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-ab9b5de1-ec7f-4421-9670-b5c0ccac8b48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.404219+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-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, "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-03-06T09:35:50.410601+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-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, "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": "f15763ed-d106-4084-bac0-da02dc7ec626", "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-03-06T09:35:50.516105+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00011_nodes_detail_get_admin [0.304338s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-627755e1-1be9-4a63-9f96-ee22979ba300 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} 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-2bc17e21-b589-44d6-97c4-e3bca589be0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'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-6ba0c529-814c-48f3-af41-ab6b11611b48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:49.933248+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-03-06T09:35:49.933248+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-71bbc07d-3728-4925-bac9-8bcd88060935 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:50.375469+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0475c426-6b72-4833-bd01-d29e5fb66014 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0475c426-6b72-4833-bd01-d29e5fb66014 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1.xml GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbcd8742-8257-4768-abb1-2e3956afafbf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbcd8742-8257-4768-abb1-2e3956afafbf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.079248s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.267378s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.095931s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.078189s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.246213s] ... ok API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-754df1dc-dd40-4aef-97ae-17090116bdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-754df1dc-dd40-4aef-97ae-17090116bdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-865ee50a-8bf4-4998-b0ae-527a3cc12831 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.787505+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-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, "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-865ee50a-8bf4-4998-b0ae-527a3cc12831 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.787505+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-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, "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-9b2bbe54-f287-4804-9eba-ec1ddf04ab29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9b2bbe54-f287-4804-9eba-ec1ddf04ab29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}}] {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.098912s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.149574s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab9b5de1-ec7f-4421-9670-b5c0ccac8b48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.404219+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-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, "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-03-06T09:35:50.410601+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-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, "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": "f15763ed-d106-4084-bac0-da02dc7ec626", "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-03-06T09:35:50.516105+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4df0e39-7449-458e-bc1b-c9d763868281 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.791353+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-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, "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-03-06T09:35:50.793830+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-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, "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": "b44d6ff6-9234-4a5a-8f1d-4dae4edbd9b1", "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-03-06T09:35:50.969349+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00013_nodes_detail_get_observer [0.367927s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.100874s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4df0e39-7449-458e-bc1b-c9d763868281 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:35:50.791353+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-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, "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-03-06T09:35:50.793830+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-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, "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": "b44d6ff6-9234-4a5a-8f1d-4dae4edbd9b1", "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-03-06T09:35:50.969349+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.211063s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.244697s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.103409s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_raid_put_observer [0.766376s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.232119s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.090299s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.075257s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.065847s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_vendor_passthru_methods_get_admin [0.236792s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.219255s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.068363s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7444f153-5782-4c69-b60e-ab93ca13c171 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7444f153-5782-4c69-b60e-ab93ca13c171 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a573635-0cec-49ca-aea9-97d00442a9e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3a573635-0cec-49ca-aea9-97d00442a9e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00fa2486-22b4-4a66-85cf-e2646a0d1151 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00fa2486-22b4-4a66-85cf-e2646a0d1151 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45e12e6d-3fba-495c-a6ec-f2478bac3d1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45e12e6d-3fba-495c-a6ec-f2478bac3d1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b5545b81-5e0b-4486-8fbf-b1d9594d9f08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b5545b81-5e0b-4486-8fbf-b1d9594d9f08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-c260c914-f015-49d9-ba93-46b35ab3b9d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c260c914-f015-49d9-ba93-46b35ab3b9d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-80f66f11-5d74-4f49-83aa-127c1672cb84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-80f66f11-5d74-4f49-83aa-127c1672cb84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1a943b9-e4d7-4a2d-b879-47ebbfb9a7f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1a943b9-e4d7-4a2d-b879-47ebbfb9a7f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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'} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.257567s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.206449s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00027_nodes_maintenance_put_member [0.181348s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_vendor_passthru_methods_get_observer [0.294189s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_raid_put_member [0.155275s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.226566s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9b91775d-006f-424e-a97d-1c29f36cdd82 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9b91775d-006f-424e-a97d-1c29f36cdd82 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e0b51721-a536-4035-885b-c5756f90b170 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e0b51721-a536-4035-885b-c5756f90b170 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-27ab764f-ba61-45ab-aa01-b4437117047c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-27ab764f-ba61-45ab-aa01-b4437117047c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-b3e03266-5377-4e3e-bdf6-a6dcfb3a55df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3e03266-5377-4e3e-bdf6-a6dcfb3a55df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00bccf32-2854-4eea-9a8b-cdcee24d6639 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00bccf32-2854-4eea-9a8b-cdcee24d6639 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-31980da3-4d00-47b9-a33b-dd3c51656b27 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-31980da3-4d00-47b9-a33b-dd3c51656b27 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-748bf371-45ad-442c-a620-588c84b1bea7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-748bf371-45ad-442c-a620-588c84b1bea7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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-87c720cc-c10c-4709-a75a-babbb8837c08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-87c720cc-c10c-4709-a75a-babbb8837c08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_provision_put_member [0.324830s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_console_get_member [0.203692s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_raid_put_admin [0.269728s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.296067s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8025458f-a045-4c79-afa2-ac7eda4d7227 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e259228-ce07-4d24-ae0f-c4ac8b6da9cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e259228-ce07-4d24-ae0f-c4ac8b6da9cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd463104-7fda-49e8-862e-d48bf62d3a15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd463104-7fda-49e8-862e-d48bf62d3a15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2635fb5c-6892-4cce-b16b-fc3c563fbe7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2635fb5c-6892-4cce-b16b-fc3c563fbe7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f65e7b20-4aca-4ce3-b081-15324005bce2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f65e7b20-4aca-4ce3-b081-15324005bce2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f549023f-47b7-4dc0-a265-a3ac87c1b63f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f549023f-47b7-4dc0-a265-a3ac87c1b63f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d38dbe0-9bb2-4436-a759-615245be2dc8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d38dbe0-9bb2-4436-a759-615245be2dc8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7d59c204-1561-4958-966a-522d322b3f84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7d59c204-1561-4958-966a-522d322b3f84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-59b68427-beef-4b84-8576-1e5e2365c77b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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_00071_nodes_vendor_passthru_put_member [0.348583s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00064_nodes_vendor_passthru_get_admin [0.238844s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.242198s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_console_put_admin [0.271548s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_delete_observer [0.361349s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_vendor_passthru_get_member [0.251058s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_post_observer [0.103731s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.266291s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_put_admin [0.071326s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-efef7b77-433a-494d-82d9-b171e3e3a8ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-efef7b77-433a-494d-82d9-b171e3e3a8ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a792ebaa-6319-4e97-946b-cdfc4cd1a423 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a792ebaa-6319-4e97-946b-cdfc4cd1a423 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f7b2abc-84a8-410e-8c10-74a9be1e9ae5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f7b2abc-84a8-410e-8c10-74a9be1e9ae5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-11f89dd7-c70f-411a-be17-459b5987bc2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-11f89dd7-c70f-411a-be17-459b5987bc2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f8719104-2259-44f2-b1c1-7568f539bb0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f8719104-2259-44f2-b1c1-7568f539bb0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0425d66b-e833-45f9-8a46-020e2807712e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0425d66b-e833-45f9-8a46-020e2807712e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4970d77f-50d7-45dc-bf4f-eeb5cb7c4502 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4970d77f-50d7-45dc-bf4f-eeb5cb7c4502 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2b635311-d041-48e7-b461-9e085a0de34f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b635311-d041-48e7-b461-9e085a0de34f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_delete_admin [0.061727s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_console_put_member [0.398060s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_traits_get_admin [0.412743s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_delete_member [0.144612s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_vendor_passthru_methods_get_member [0.210515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_traits_get_observer [0.155762s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_traits_put_admin [0.080767s] ... ok 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-78c97973-a87e-4fff-b8ca-1b14bf92d82c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-78c97973-a87e-4fff-b8ca-1b14bf92d82c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cf758b9-0957-4051-80a6-91507e3e2fd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7cf758b9-0957-4051-80a6-91507e3e2fd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-540b224d-817e-4706-80bf-6c9b98c6c22c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-540b224d-817e-4706-80bf-6c9b98c6c22c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52a1bb3c-199f-422b-b70c-95f9ac41e64d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-52a1bb3c-199f-422b-b70c-95f9ac41e64d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e401fd53-477e-4726-86ab-701c58e79bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e401fd53-477e-4726-86ab-701c58e79bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0c1f7462-3655-4fc7-8679-eb33416a2a30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0c1f7462-3655-4fc7-8679-eb33416a2a30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-235f7d3a-8f09-4181-b24e-3a7e44a305ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-235f7d3a-8f09-4181-b24e-3a7e44a305ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53116cc3-9ea8-4c9c-b3fb-1ac02ce82525 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-53116cc3-9ea8-4c9c-b3fb-1ac02ce82525 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.549416s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_delete_member [0.167897s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_post_member [0.349668s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_traits_get_member [0.616842s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_trait_put_member [0.205736s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00085_nodes_traits_trait_put_admin [0.373231s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_vifs_get_member [0.237725s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_console_get_admin [0.569522s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_traits_put_member [0.421522s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_trait_delete_admin [0.304232s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_console_put_observer [0.318560s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_traits_put_observer [0.364731s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35d0e1d8-b1ee-49af-b864-a67041d0d52f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-35d0e1d8-b1ee-49af-b864-a67041d0d52f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d965ebe-e2f4-494d-b70e-2276a0b42261 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d965ebe-e2f4-494d-b70e-2276a0b42261 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-198431ae-bc6a-4f52-9f2a-b41bd26c5d04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-198431ae-bc6a-4f52-9f2a-b41bd26c5d04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bc3573f-32a4-464b-beec-abe8ffb6f081 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8bc3573f-32a4-464b-beec-abe8ffb6f081 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-db13bbcf-c1c3-4d7b-be11-3ad3b08598d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db13bbcf-c1c3-4d7b-be11-3ad3b08598d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6730b221-d167-43b8-8096-e4d583f629ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6730b221-d167-43b8-8096-e4d583f629ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc01cfbc-1fef-4fde-88d0-24d83b319255 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc01cfbc-1fef-4fde-88d0-24d83b319255 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ce756ecc-56c4-4b8f-a118-68a63077a284 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce756ecc-56c4-4b8f-a118-68a63077a284 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_vifs_get_admin [0.253562s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_delete_admin [0.156501s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_trait_put_observer [0.075601s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_vendor_passthru_get_observer [0.429975s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_trait_delete_observer [0.092690s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00098_nodes_vifs_node_vif_ident_delete_member [0.343679s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-59b68427-beef-4b84-8576-1e5e2365c77b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b451840-a0f3-4e46-a3fa-587316faec5e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b451840-a0f3-4e46-a3fa-587316faec5e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3f7060f-bfd1-4b26-bc4b-ca2ae9c58eee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3f7060f-bfd1-4b26-bc4b-ca2ae9c58eee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac0a6493-5ee7-433a-8799-440d4e69e7f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ac0a6493-5ee7-433a-8799-440d4e69e7f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7326e66b-53d5-49f0-822d-e80956091477 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7326e66b-53d5-49f0-822d-e80956091477 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e59b1e39-2481-4501-a2f7-432b54e638f1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e59b1e39-2481-4501-a2f7-432b54e638f1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6ce1445d-05db-42bd-9bfa-1c2de4e20493 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6ce1445d-05db-42bd-9bfa-1c2de4e20493 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b5e078ee-d589-4636-90de-4ca6939e22c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b5e078ee-d589-4636-90de-4ca6939e22c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8fcf335c-6837-4a3e-a1ae-0d77b5d23976 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8fcf335c-6837-4a3e-a1ae-0d77b5d23976 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/management/indicators {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_management_indicators_get_admin [0.218453s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_node_vif_ident_delete_admin [1.147284s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_post_admin [0.408525s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00106_portgroups_get_admin [0.125968s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_node_vif_ident_delete_observer [0.508442s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_portgroups_get_member [0.249830s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3f976bf-318e-49f0-b816-df9ea58fa37d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3f976bf-318e-49f0-b816-df9ea58fa37d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3673de3b-db5d-472a-8162-9f6c6ea8a422 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3673de3b-db5d-472a-8162-9f6c6ea8a422 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-7b72aaee-6f14-4435-99ac-42c572a9ee4c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b72aaee-6f14-4435-99ac-42c572a9ee4c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aa7d32da-6f4d-4b82-8f29-2f809a4a5e88 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa7d32da-6f4d-4b82-8f29-2f809a4a5e88 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db160c20-41e2-4794-a746-a8cf27b7521f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db160c20-41e2-4794-a746-a8cf27b7521f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-168966c6-108d-4273-9ab7-e6567c1c15cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-168966c6-108d-4273-9ab7-e6567c1c15cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-d982f5d3-c326-4988-b183-9a55e4320627 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d982f5d3-c326-4988-b183-9a55e4320627 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d77929cd-c5aa-4cbc-9d29-09dbf5dd6852 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d77929cd-c5aa-4cbc-9d29-09dbf5dd6852 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a9180a00-ba59-4720-96e2-dd2ed248276b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_management_indicators_get_member [0.324492s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00111_portgroups_post_observer [0.219042s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_put_observer [0.811008s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_management_indicators_get_observer [0.729793s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_detail_get_observer [0.559215s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00108_portgroups_get_observer [0.850842s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_portgroup_ident_get_admin [0.454440s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00084_nodes_traits_delete_observer [0.547028s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00109_portgroups_post_admin [0.329651s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_portgroup_ident_get_observer [0.532275s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_trait_delete_member [0.308625s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_delete_observer [0.382721s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00110_portgroups_post_member [0.383835s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35e217d9-16db-4837-9e92-fe179d468b24 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-35e217d9-16db-4837-9e92-fe179d468b24 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70e89f30-5a1b-4f1f-8490-97e29b324312 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-70e89f30-5a1b-4f1f-8490-97e29b324312 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d33ec6e3-7c07-488c-9517-fac56cdd1b8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d33ec6e3-7c07-488c-9517-fac56cdd1b8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f90fc314-25a7-4754-a03a-36d862378e09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f90fc314-25a7-4754-a03a-36d862378e09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e16a6a3f-a28d-4983-9968-9810b012bca6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e16a6a3f-a28d-4983-9968-9810b012bca6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-696b82c6-1d20-4809-b55f-7ebb9eae48d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-696b82c6-1d20-4809-b55f-7ebb9eae48d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0f94ad01-23ca-4098-8ae8-755f26ea7ffe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f94ad01-23ca-4098-8ae8-755f26ea7ffe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-780bd245-687a-4b3b-a7ce-62db2312a851 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-780bd245-687a-4b3b-a7ce-62db2312a851 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_vifs_get_observer [0.258890s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00120_portgroups_portgroup_ident_patch_observer [0.623325s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_vifs_post_admin [0.262430s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c85086b6-087d-4f50-9d3b-e2e3d984c9e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c85086b6-087d-4f50-9d3b-e2e3d984c9e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8108163c-7f28-4439-9178-a76b3b504274 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8108163c-7f28-4439-9178-a76b3b504274 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-badac494-389e-4013-8fcd-a67e5e3db7d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-badac494-389e-4013-8fcd-a67e5e3db7d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2abe8e1d-3738-4c41-aa68-7a5557a12fad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2abe8e1d-3738-4c41-aa68-7a5557a12fad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/70835d17-91cf-43e6-97d3-e6c3fadd5a62 Openstack-Request-Id: req-9b78130a-80b1-496b-b2ec-553af6f0bf47 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "70835d17-91cf-43e6-97d3-e6c3fadd5a62", "created_at": "2024-03-06T09:35:56.698277+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/70835d17-91cf-43e6-97d3-e6c3fadd5a62", "rel": "self"}, {"href": "http://localhost/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62/ports", "rel": "self"}, {"href": "http://localhost/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62 Openstack-Request-Id: req-9b78130a-80b1-496b-b2ec-553af6f0bf47 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "70835d17-91cf-43e6-97d3-e6c3fadd5a62", "created_at": "2024-03-06T09:35:56.698277+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/70835d17-91cf-43e6-97d3-e6c3fadd5a62", "rel": "self"}, {"href": "http://localhost/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62/ports", "rel": "self"}, {"href": "http://localhost/portgroups/70835d17-91cf-43e6-97d3-e6c3fadd5a62/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-ba33236b-00d3-472d-89f2-bb2df4b5cb29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ba33236b-00d3-472d-89f2-bb2df4b5cb29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_detail_get_admin [0.210122s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_portgroup_ident_get_member [0.119303s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_vifs_post_member [0.250457s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8f278a4c-5627-4090-b30e-fef957bcf97b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8f278a4c-5627-4090-b30e-fef957bcf97b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4938bb5c-4f6f-4ef7-a5c2-06510661ac2a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4938bb5c-4f6f-4ef7-a5c2-06510661ac2a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d65e3dc-ecdc-48a8-adf7-986e48d38fcb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4d65e3dc-ecdc-48a8-adf7-986e48d38fcb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-e3cb6507-b3f5-4064-9452-bb9dd46381ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e3cb6507-b3f5-4064-9452-bb9dd46381ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-844e3e9b-e665-49df-a84a-e439cf9ca587 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:56.324215+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-844e3e9b-e665-49df-a84a-e439cf9ca587 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:56.324215+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-f91e7b1b-12d4-4531-ac48-6d18f5363cde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f91e7b1b-12d4-4531-ac48-6d18f5363cde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-504e48e3-7f5b-4739-a7bc-0ccf96d02203 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_nodes_portgroups_get_admin [0.741685s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_portgroup_ident_patch_member [0.323074s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_delete_admin [0.148049s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_nodes_portgroups_get_observer [0.705473s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_vifs_post_observer [0.492810s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_delete_member [0.276867s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00133_ports_post_admin [0.523761s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9180a00-ba59-4720-96e2-dd2ed248276b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65be1d81-1c55-44bc-84e9-cd601c1d2a65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-65be1d81-1c55-44bc-84e9-cd601c1d2a65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5f02a46c-a115-497f-bfcf-e71d824254d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:55.942385+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-5f02a46c-a115-497f-bfcf-e71d824254d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:55.942385+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-6c17aa55-11ea-42b1-94b4-c475667ef143 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:56.461978+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-6c17aa55-11ea-42b1-94b4-c475667ef143 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:56.461978+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-94fb31bc-1995-4cfa-b134-0e89d89e95c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-94fb31bc-1995-4cfa-b134-0e89d89e95c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9cbc906e-e209-4249-9883-a01784b3e8e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9cbc906e-e209-4249-9883-a01784b3e8e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_nodes_portgroups_detail_get_member [0.263984s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_ports_post_member [0.246360s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_nodes_portgroups_detail_get_admin [0.309375s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_nodes_portgroups_detail_get_observer [0.369448s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_detail_get_member [0.269929s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d1d365f-e97e-4f93-8cd0-cb6efb7ffd33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:57.244718+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-5d1d365f-e97e-4f93-8cd0-cb6efb7ffd33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:57.244718+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f06196f-1dfb-4fae-abb5-8de12f5766bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3f06196f-1dfb-4fae-abb5-8de12f5766bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9d0ecc91-930c-4978-9a56-f0d8c6bc3eec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9d0ecc91-930c-4978-9a56-f0d8c6bc3eec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa094dc7-438a-4d74-a7b0-37736f436340 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa094dc7-438a-4d74-a7b0-37736f436340 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc6ce8d3-bf69-476e-a32f-0b210fb26fde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc6ce8d3-bf69-476e-a32f-0b210fb26fde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6258c4d-4a10-4bb3-98fd-beb3e4833ed3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:58.306411+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-c6258c4d-4a10-4bb3-98fd-beb3e4833ed3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:58.306411+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.TestRBACModelBeforeScopes.test_rbac_legacy_00130_ports_get_admin [0.287273s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_port_id_get_admin [0.160146s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_detail_get_member [0.087198s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_ports_get_observer [0.188203s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_ports_post_observer [0.139640s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_port_id_get_observer [0.274040s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_portgroup_ident_patch_admin [0.229980s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_port_id_patch_admin [0.547556s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_nodes_portgroups_get_member [0.197563s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_ports_get_member [0.119295s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e8fd7d83-c30d-4a1f-9bd8-20df34852937 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e8fd7d83-c30d-4a1f-9bd8-20df34852937 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2a0b2375-15ff-4323-8a8c-792225ffda7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2a0b2375-15ff-4323-8a8c-792225ffda7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd5751e1-a62d-4cf0-8325-ae68c78a75b2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fd5751e1-a62d-4cf0-8325-ae68c78a75b2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-32e37b5e-fa65-4ab6-afd3-299a0ca99ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-32e37b5e-fa65-4ab6-afd3-299a0ca99ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c458248-4ef2-4096-b950-9a992aad4c30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4c458248-4ef2-4096-b950-9a992aad4c30 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-38290a3f-229d-4203-837d-c5a938b4e5c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-38290a3f-229d-4203-837d-c5a938b4e5c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e7c5dbbb-1062-4526-96cd-877611744ecb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e7c5dbbb-1062-4526-96cd-877611744ecb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-90688847-5c2b-46ca-984e-3401a29f074c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-90688847-5c2b-46ca-984e-3401a29f074c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d2c66a79-c64f-47e1-bc35-2b87f8b0f05d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_delete_member [0.073309s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-504e48e3-7f5b-4739-a7bc-0ccf96d02203 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e3737b8-ab57-4ecd-8a47-646aba871737 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e3737b8-ab57-4ecd-8a47-646aba871737 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bd8fd155-79a4-4c60-9a93-fb22ac56a417 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bd8fd155-79a4-4c60-9a93-fb22ac56a417 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a06f71fb-74b8-45ed-a045-423d55c2140d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a06f71fb-74b8-45ed-a045-423d55c2140d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb795630-fb93-401a-9f53-09014e183d23 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:58.821930+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-fb795630-fb93-401a-9f53-09014e183d23 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:58.821930+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-b9adcf87-78b8-4825-b813-f54f9fea41cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.023905+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-b9adcf87-78b8-4825-b813-f54f9fea41cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.023905+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d405b747-ca2a-4bb4-b9e0-9ef2f2a298b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_port_id_patch_member [0.196866s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_nodes_ports_get_observer [0.256605s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_detail_get_admin [0.581927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_nodes_ports_get_member [0.155551s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_nodes_ports_detail_get_admin [0.259249s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_portgroups_ports_detail_get_member [0.068212s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_portgroups_ports_detail_get_observer [0.078066s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00165_volume_connectors_get_observer [0.054939s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00144_ports_port_id_patch_observer [0.751181s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d405b747-ca2a-4bb4-b9e0-9ef2f2a298b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91ddd4ce-fe7e-4f47-8992-77c594a43044 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-91ddd4ce-fe7e-4f47-8992-77c594a43044 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e8bb317-ace7-40da-a069-43ef313db3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.841957+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-7e8bb317-ace7-40da-a069-43ef313db3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.841957+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5873cb29-046f-4b3b-b0f2-5241fe4ee9b8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5873cb29-046f-4b3b-b0f2-5241fe4ee9b8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1450b7c2-f1a3-4e5f-b4d4-9fa5b4f8e311 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1450b7c2-f1a3-4e5f-b4d4-9fa5b4f8e311 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-419854a1-0b01-4805-b793-a6b27a128af2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-419854a1-0b01-4805-b793-a6b27a128af2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a873ca1f-15cf-489b-93ad-13e0c51e07f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.124956+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"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_volume_connector_id_get_admin [0.057219s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00172_volume_volume_connector_id_patch_admin [0.059469s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_delete_observer [0.055785s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_volume_target_id_get_observer [0.061341s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00153_nodes_ports_detail_get_observer [0.626054s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_nodes_volume_connectors_get_member [0.055069s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_detail_get_observer [0.697271s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_drivers_driver_name_get_admin [0.049634s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_drivers_driver_name_get_observer [0.067939s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_port_id_get_member [0.275918s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00157_portgroups_ports_detail_get_admin [0.293266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_volume_get_member [0.116270s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_nodes_ports_get_admin [0.642845s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00162_volume_get_observer [0.124746s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a873ca1f-15cf-489b-93ad-13e0c51e07f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.124956+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-cda66ddb-9849-4dcb-8901-523bc6bf4bf6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cda66ddb-9849-4dcb-8901-523bc6bf4bf6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72413a2f-fbf3-4d2d-bf24-fe2cd2ba2028 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-72413a2f-fbf3-4d2d-bf24-fe2cd2ba2028 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-989a6bff-5639-4b02-82d0-8c6dea93eade X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.298664+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-989a6bff-5639-4b02-82d0-8c6dea93eade X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.298664+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ed76cc6-47ba-4981-b0ea-bb1ea3c24171 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2ed76cc6-47ba-4981-b0ea-bb1ea3c24171 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bf87d4df-08c0-4bb9-bd4e-06aaf82e4957 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bf87d4df-08c0-4bb9-bd4e-06aaf82e4957 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-93cfd3d5-c5a8-441c-9d16-d67fa666e83a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-93cfd3d5-c5a8-441c-9d16-d67fa666e83a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-697f875a-840e-4d3d-98f3-31a40c1fd21f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_properties_get_observer [0.152732s] ... ok API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8492fb69-5fb8-43e1-b0ae-c7de5f6e0e8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8492fb69-5fb8-43e1-b0ae-c7de5f6e0e8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-659c8f92-30bc-4b83-9bae-e5d1b68b5c32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-659c8f92-30bc-4b83-9bae-e5d1b68b5c32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5252aa18-177e-4929-b03c-3dddec795076 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5252aa18-177e-4929-b03c-3dddec795076 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b5608d01-0146-42bf-9794-4d15d8f96cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.279321+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-b5608d01-0146-42bf-9794-4d15d8f96cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.279321+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-a3253096-8f39-4b39-aa41-170345ecbdaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.051911+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-a3253096-8f39-4b39-aa41-170345ecbdaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:00.051911+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8dfa39ed-4c61-44eb-8f34-4a2b7f67f385 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8dfa39ed-4c61-44eb-8f34-4a2b7f67f385 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_delete_admin [0.291100s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_connectors_post_admin [0.128849s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_nodes_ports_detail_get_member [0.151829s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_portgroups_ports_get_admin [0.118042s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d2c66a79-c64f-47e1-bc35-2b87f8b0f05d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3e30c181-4138-41ed-a011-807c1c38f440 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3e30c181-4138-41ed-a011-807c1c38f440 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ec192c7-4c11-4f27-8fc7-5afa98c9f36b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.825624+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-6ec192c7-4c11-4f27-8fc7-5afa98c9f36b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:35:59.825624+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-5d2b7c8e-4ead-4a4e-ac7b-03fa5e67698a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d2b7c8e-4ead-4a4e-ac7b-03fa5e67698a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c1a9a19-9381-4259-af39-13cec420c49b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0c1a9a19-9381-4259-af39-13cec420c49b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1ba6c22-c7e2-4845-99f7-125ef80f46c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c1ba6c22-c7e2-4845-99f7-125ef80f46c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/2b1990d4-4897-45ad-bc3b-34eb71faeb84 Openstack-Request-Id: req-c939aaf2-3fac-400e-8c80-d5897d21c9e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2b1990d4-4897-45ad-bc3b-34eb71faeb84", "created_at": "2024-03-06T09:36:01.011598+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/2b1990d4-4897-45ad-bc3b-34eb71faeb84", "rel": "self"}, {"href": "http://localhost/volume/connectors/2b1990d4-4897-45ad-bc3b-34eb71faeb84", "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/2b1990d4-4897-45ad-bc3b-34eb71faeb84 Openstack-Request-Id: req-c939aaf2-3fac-400e-8c80-d5897d21c9e8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2b1990d4-4897-45ad-bc3b-34eb71faeb84", "created_at": "2024-03-06T09:36:01.011598+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/2b1990d4-4897-45ad-bc3b-34eb71faeb84", "rel": "self"}, {"href": "http://localhost/volume/connectors/2b1990d4-4897-45ad-bc3b-34eb71faeb84", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_volume_connector_id_get_observer [0.227159s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9bbb0b22-9e20-4e2f-9fb3-e33404dcb5ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9bbb0b22-9e20-4e2f-9fb3-e33404dcb5ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49450c61-03ec-4b26-9a6d-ca71a9b228fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:58.462528+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-49450c61-03ec-4b26-9a6d-ca71a9b228fe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:35:58.462528+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/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-5ea4297b-b411-4b51-bf26-04bcbab0d7d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ea4297b-b411-4b51-bf26-04bcbab0d7d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-96e6a996-e6c5-4993-9a04-f3d8bac8c94e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-96e6a996-e6c5-4993-9a04-f3d8bac8c94e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-8dbdefdb-49bd-4d45-a3bd-36abb6b2bacb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8dbdefdb-49bd-4d45-a3bd-36abb6b2bacb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a31001b-0b5f-423e-9a77-fb1a17614152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7a31001b-0b5f-423e-9a77-fb1a17614152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-88784877-b4f9-427e-b10e-593de9902a2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88784877-b4f9-427e-b10e-593de9902a2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_portgroups_ports_get_observer [0.105701s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_volume_get_admin [0.048310s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_volume_connectors_get_admin [0.058134s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_volume_connector_id_get_member [0.052224s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_volume_connector_id_patch_observer [0.054108s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_targets_get_admin [0.222220s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_delete_admin [0.063645s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_delete_observer [0.534496s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_targets_get_member [0.164665s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_targets_post_member [0.138201s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_volume_target_id_patch_admin [0.157029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00192_volume_volume_target_id_delete_observer [0.138703s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27a7de29-e99e-4bf0-8db7-bdd7da441142 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27a7de29-e99e-4bf0-8db7-bdd7da441142 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5439714-9203-41e6-b37d-b9e722d8d5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e5439714-9203-41e6-b37d-b9e722d8d5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f53d8f4-12fe-4aa7-9412-362a921e306c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f53d8f4-12fe-4aa7-9412-362a921e306c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9efe2500-c1b8-4f56-8b62-c136ce16b5d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9efe2500-c1b8-4f56-8b62-c136ce16b5d4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e6f9980b-06b5-4b04-b9f1-7edcbb26defc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e6f9980b-06b5-4b04-b9f1-7edcbb26defc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b954fce3-8bb1-4369-9009-9309c35025f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b954fce3-8bb1-4369-9009-9309c35025f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2ea1dc1d-51d0-46be-b639-1560492cb578 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2ea1dc1d-51d0-46be-b639-1560492cb578 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/95c39533-90e2-498b-9662-4f97d4612245 Openstack-Request-Id: req-c20504f6-5b73-4aa0-b789-a88418c2056a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "95c39533-90e2-498b-9662-4f97d4612245", "created_at": "2024-03-06T09:36:01.672287+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/95c39533-90e2-498b-9662-4f97d4612245", "rel": "self"}, {"href": "http://localhost/volume/targets/95c39533-90e2-498b-9662-4f97d4612245", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_targets_post_admin [0.139064s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_targets_post_observer [0.135851s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_nodes_volume_get_admin [0.057914s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_portgroups_ports_get_member [0.505371s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5b3def0-6631-431d-a6a3-8d6dd50dc438 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:01.103320+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-e5b3def0-6631-431d-a6a3-8d6dd50dc438 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:01.103320+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/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c24afec-1633-4e4f-8a4d-2d47d0ffd842 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4c24afec-1633-4e4f-8a4d-2d47d0ffd842 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a77dbdba-f358-4cd0-8642-b8084ebb6d04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a77dbdba-f358-4cd0-8642-b8084ebb6d04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f8ae34ee-07e8-4886-9bee-3b539513be74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f8ae34ee-07e8-4886-9bee-3b539513be74 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e096b6fa-a840-438d-b134-e84273a9f2c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e096b6fa-a840-438d-b134-e84273a9f2c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-132cdca2-7fce-4366-b1db-c45273f9162b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-132cdca2-7fce-4366-b1db-c45273f9162b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_nodes_volume_get_member [0.048434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00196_nodes_volume_connectors_get_admin [0.065946s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_nodes_volume_connectors_get_observer [0.066718s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_targets_get_admin [0.103159s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_targets_get_member [0.212239s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_drivers_get_admin [0.056437s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_volume_target_id_get_member [0.713994s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_drivers_get_member [0.049059s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-599b116d-4b51-4427-b6b3-0b3ddce0c9e6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-599b116d-4b51-4427-b6b3-0b3ddce0c9e6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5f5a2f0-e987-403b-aa76-2aa179c508a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c5f5a2f0-e987-403b-aa76-2aa179c508a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e1dd9acc-260f-427f-b15e-46cb9484d32b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e1dd9acc-260f-427f-b15e-46cb9484d32b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b09fb2aa-bb29-4685-984b-b99f0fab7491 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b09fb2aa-bb29-4685-984b-b99f0fab7491 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02910730-2c6b-4302-a799-f10b14710cfe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-02910730-2c6b-4302-a799-f10b14710cfe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-5deabc38-eec2-42ae-9555-e0ed383aa839 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5deabc38-eec2-42ae-9555-e0ed383aa839 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-85b11d9a-f803-4d1d-802d-435c7bcc3af5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-85b11d9a-f803-4d1d-802d-435c7bcc3af5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d3767c3-dafa-40d1-869f-91fe44eab028 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_drivers_get_observer [0.052359s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_drivers_driver_name_get_member [0.048289s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00218_drivers_vendor_passthru_get_member [0.054660s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_post_observer [0.049667s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_volume_connectors_get_member [0.869292s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_nodes_bios_get_admin [0.077717s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_volume_target_id_patch_observer [0.450413s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_nodes_bios_bios_setting_get_admin [0.218448s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_conductors_get_member [0.135194s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_vendor_passthru_methods_get_observer [2.668316s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_conductors_hostname_get_member [0.375852s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_connectors_post_member [0.787459s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_delete_admin [0.727509s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_post_member [0.431422s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_put_member [0.378382s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_delete_member [0.448748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_connectors_post_observer [0.529306s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d3767c3-dafa-40d1-869f-91fe44eab028 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} 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-130eca3e-49f6-4c40-8d13-0c069378b3ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-130eca3e-49f6-4c40-8d13-0c069378b3ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-21f2b132-d0b7-466e-892e-82b67cc7a2da X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-21f2b132-d0b7-466e-892e-82b67cc7a2da X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88fa7733-90ca-446e-b472-0b9426115f45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88fa7733-90ca-446e-b472-0b9426115f45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7c057a4b-2c85-497d-a348-d045d8244bbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:36:02.883900+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-7c057a4b-2c85-497d-a348-d045d8244bbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:36:02.883900+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-eca74059-2910-4b7e-a850-2a73e878fc34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:36:03.101603+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-eca74059-2910-4b7e-a850-2a73e878fc34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:36:03.101603+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d20182c-66b8-47e6-9f9c-d729e44c7c3a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4d20182c-66b8-47e6-9f9c-d729e44c7c3a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-248e89a2-dfe5-4d38-a3bb-99661d3f2b0b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-248e89a2-dfe5-4d38-a3bb-99661d3f2b0b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/191abdae-3dcd-47f7-8992-f40ff02e05db PATCH: /v1/allocations/191abdae-3dcd-47f7-8992-f40ff02e05db [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_allocation_id_patch_observer [0.512762s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_volume_connector_id_patch_member [0.609335s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_conductors_get_observer [0.755110s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_nodes_volume_get_observer [0.724666s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_nodes_allocation_get_observer [0.764808s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_conductors_hostname_get_observer [0.328787s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_deploy_templates_post_admin [0.329316s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_delete_member [0.447741s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_allocations_post_admin [0.418883s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9b967161-004c-483b-824d-0aa6f6fdbdc2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9b967161-004c-483b-824d-0aa6f6fdbdc2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-79a8229c-f435-481e-a4d8-5abb8543c5f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-79a8229c-f435-481e-a4d8-5abb8543c5f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"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-97ba00aa-9bf5-412b-8a59-9470665d242d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-97ba00aa-9bf5-412b-8a59-9470665d242d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1fdeda3-d3ed-45d3-ad76-5c341f5f24ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b1fdeda3-d3ed-45d3-ad76-5c341f5f24ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c4ceccf-734f-451d-9d46-f669be6c66c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c4ceccf-734f-451d-9d46-f669be6c66c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-431885a4-7af9-4e13-93d6-fdb5d94ad548 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-431885a4-7af9-4e13-93d6-fdb5d94ad548 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd6a5c4c-ec60-48d5-a1e3-229f7d74def8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd6a5c4c-ec60-48d5-a1e3-229f7d74def8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5b346f3d-6fd2-4dab-8a97-f0143be17d5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5b346f3d-6fd2-4dab-8a97-f0143be17d5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/95c39533-90e2-498b-9662-4f97d4612245 Openstack-Request-Id: req-c20504f6-5b73-4aa0-b789-a88418c2056a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "95c39533-90e2-498b-9662-4f97d4612245", "created_at": "2024-03-06T09:36:01.672287+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/95c39533-90e2-498b-9662-4f97d4612245", "rel": "self"}, {"href": "http://localhost/volume/targets/95c39533-90e2-498b-9662-4f97d4612245", "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-b8722e55-15d2-40b4-9721-06d249f468db X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b8722e55-15d2-40b4-9721-06d249f468db X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b3b54da1-4508-4554-bedc-2675b08c8902 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b3b54da1-4508-4554-bedc-2675b08c8902 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-09fa9ba5-c29e-4fce-baa3-002f6e5036f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-09fa9ba5-c29e-4fce-baa3-002f6e5036f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c0fbdc18-07e5-49c8-b97b-5c4dd0979135 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0fbdc18-07e5-49c8-b97b-5c4dd0979135 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-92916d72-4e52-46b8-ac8d-d08cfe81344c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-92916d72-4e52-46b8-ac8d-d08cfe81344c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-15c1451f-84c8-4ca6-a822-e7a3069879fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-15c1451f-84c8-4ca6-a822-e7a3069879fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_targets_get_observer [0.639418s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_deploy_templates_get_admin [0.529597s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_targets_get_observer [0.557241s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_properties_get_admin [0.339554s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_properties_get_member [0.302553s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_raid_logical_disk_properties_get_admin [0.201651s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00215_drivers_vendor_passthru_methods_get_member [0.069045s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_post_admin [0.072484s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_volume_target_id_get_admin [0.921469s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_allocations_get_member [1.113956s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00271_deploy_templates_deploy_template_id_patch_member [1.041515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_volume_target_id_patch_member [0.214309s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_raid_logical_disk_properties_get_member [0.056289s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_raid_logical_disk_properties_get_observer [0.107595s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_nodes_bios_bios_setting_get_observer [0.299745s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-697f875a-840e-4d3d-98f3-31a40c1fd21f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1f07fd14-40d1-4623-b1ba-599e4c1f49fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1f07fd14-40d1-4623-b1ba-599e4c1f49fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f1754f9c-e1a2-456f-8af1-a64d11371fd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f1754f9c-e1a2-456f-8af1-a64d11371fd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9c460cd4-c5b5-4fba-8929-63353e85f30f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9c460cd4-c5b5-4fba-8929-63353e85f30f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cd105f49-4c33-41e4-aacb-9cf501e49bb9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd105f49-4c33-41e4-aacb-9cf501e49bb9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5d636b47-51d8-4943-a5f3-049843dbda34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:36:04.997561+00:00", "updated_at": "2024-03-06T09:36:04.998580+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-5d636b47-51d8-4943-a5f3-049843dbda34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:36:04.997561+00:00", "updated_at": "2024-03-06T09:36:04.998580+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-21445366-33f2-4bef-8bff-abb5d1dcef5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-21445366-33f2-4bef-8bff-abb5d1dcef5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-89322819-cd9b-437a-8578-b3c08dd033e9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-89322819-cd9b-437a-8578-b3c08dd033e9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/1e267c14-d993-4098-bda3-636b17c3e066 GET: /v1/allocations/1e267c14-d993-4098-bda3-636b17c3e066 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_allocation_id_get_observer [0.385265s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-30acc479-9a4c-477b-870b-fb49c79d4515 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-30acc479-9a4c-477b-870b-fb49c79d4515 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f2e7add6-d17d-447a-83c1-81dabdffba6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9442ffff-6e57-4063-ba62-5b64d9274317", "created_at": "2024-03-06T09:36:04.269059+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9442ffff-6e57-4063-ba62-5b64d9274317", "rel": "self"}, {"href": "http://localhost/allocations/9442ffff-6e57-4063-ba62-5b64d9274317", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2e7add6-d17d-447a-83c1-81dabdffba6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9442ffff-6e57-4063-ba62-5b64d9274317", "created_at": "2024-03-06T09:36:04.269059+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9442ffff-6e57-4063-ba62-5b64d9274317", "rel": "self"}, {"href": "http://localhost/allocations/9442ffff-6e57-4063-ba62-5b64d9274317", "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/2e6e3dde-e062-44e7-ae7f-db52a42b2068 Openstack-Request-Id: req-db65df4f-7a63-41c1-9181-f031134fc94c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2e6e3dde-e062-44e7-ae7f-db52a42b2068", "created_at": "2024-03-06T09:36:05.243155+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2e6e3dde-e062-44e7-ae7f-db52a42b2068", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e6e3dde-e062-44e7-ae7f-db52a42b2068", "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/2e6e3dde-e062-44e7-ae7f-db52a42b2068 Openstack-Request-Id: req-db65df4f-7a63-41c1-9181-f031134fc94c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2e6e3dde-e062-44e7-ae7f-db52a42b2068", "created_at": "2024-03-06T09:36:05.243155+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2e6e3dde-e062-44e7-ae7f-db52a42b2068", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e6e3dde-e062-44e7-ae7f-db52a42b2068", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28fae12c-3714-48c1-8aa5-f6aa7c18c8fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "ca1783dc-0229-468b-b136-20ca769e612d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/ca1783dc-0229-468b-b136-20ca769e612d", "rel": "self"}, {"href": "http://localhost/deploy_templates/ca1783dc-0229-468b-b136-20ca769e612d", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28fae12c-3714-48c1-8aa5-f6aa7c18c8fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "ca1783dc-0229-468b-b136-20ca769e612d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/ca1783dc-0229-468b-b136-20ca769e612d", "rel": "self"}, {"href": "http://localhost/deploy_templates/ca1783dc-0229-468b-b136-20ca769e612d", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/6f4b5d55-862d-46b4-a293-a64e1243a48e PATCH: /v1/deploy_templates/6f4b5d55-862d-46b4-a293-a64e1243a48e [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c9a4ae46-c731-44b2-bcd6-ceb835e144f5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c9a4ae46-c731-44b2-bcd6-ceb835e144f5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039 Openstack-Request-Id: req-951274c1-a928-4da2-b88f-4250394c8158 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "0c69a867-09d3-4954-8518-c7c2e6f77039", "created_at": "2024-03-06T09:36:07.221740+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039", "rel": "self"}, {"href": "http://localhost/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039/nodes", "rel": "self"}, {"href": "http://localhost/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_chassis_post_admin [0.413161s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_vendor_passthru_methods_get_admin [0.584713s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ceff8f0-7b72-45cc-ad4e-1a99fd513afc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1ceff8f0-7b72-45cc-ad4e-1a99fd513afc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2fac7f1e-6098-4cd8-876f-e1c5d3195325 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2fac7f1e-6098-4cd8-876f-e1c5d3195325 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b7ab02e-b2c7-4b10-9fbc-59234e9b7c32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3b7ab02e-b2c7-4b10-9fbc-59234e9b7c32 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9223cc23-d7b1-477e-90c0-8d47420cb09c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9223cc23-d7b1-477e-90c0-8d47420cb09c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8723f6e-4b29-4de0-8453-8e64a781d1f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8723f6e-4b29-4de0-8453-8e64a781d1f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-196b1f0b-24fa-4479-b44f-08a2e0163ad2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-196b1f0b-24fa-4479-b44f-08a2e0163ad2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b11bb331-d352-476f-baac-12064b6b02f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:36:07.124402+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-b11bb331-d352-476f-baac-12064b6b02f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:36:07.124402+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fdf33120-4df4-4494-be02-6816c242b7fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:36:07.428403+00:00", "updated_at": "2024-03-06T09:36:07.429441+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} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00237_conductors_hostname_get_admin [0.536540s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_chassis_post_observer [0.756080s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_vendor_passthru_get_admin [0.310995s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_allocation_id_patch_member [0.892881s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_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. /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_nodes_allocation_delete_member [0.376212s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_chassis_get_observer [0.448669s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27107c60-f7f1-4c25-9805-6383900bb562 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-27107c60-f7f1-4c25-9805-6383900bb562 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ff387721-533a-4984-a885-d0c8ba37971a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:06.499417+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-ff387721-533a-4984-a885-d0c8ba37971a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:06.499417+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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b53d4407-d7ab-489c-988c-23d08ccd8ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b53d4407-d7ab-489c-988c-23d08ccd8ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-d9eef092-cffc-41c3-b9b1-022d8a645726 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d9eef092-cffc-41c3-b9b1-022d8a645726 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4983afcb-d56a-409a-afbc-1dcab1237910 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4983afcb-d56a-409a-afbc-1dcab1237910 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8b4aa12d-2548-44e0-9955-323620326231 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8b4aa12d-2548-44e0-9955-323620326231 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f34a836-d9c4-4dd5-a781-9f8af610f3f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f34a836-d9c4-4dd5-a781-9f8af610f3f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-699ec3d4-266e-47de-bb56-0a5ce2520009 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_vendor_passthru_get_observer [0.554236s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_put_admin [0.223573s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_deploy_templates_get_member [0.439699s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_put_observer [0.053183s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00229_nodes_bios_get_member [0.057331s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_allocations_post_observer [0.746062s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_detail_get_admin [0.509105s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_nodes_bios_get_observer [0.112752s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_nodes_bios_bios_setting_get_member [0.066562s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_conductors_get_admin [0.054276s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-699ec3d4-266e-47de-bb56-0a5ce2520009 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-85c2d801-1f41-4fd5-917a-3ef935c9a978 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-85c2d801-1f41-4fd5-917a-3ef935c9a978 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-87c8131e-b4f8-47ad-9844-35a5a4c3dd46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-87c8131e-b4f8-47ad-9844-35a5a4c3dd46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35cebfe7-7254-4a46-b05d-d99c0289cfa0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-35cebfe7-7254-4a46-b05d-d99c0289cfa0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b0c44b7-c78c-4785-acec-c712868541f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:36:08.943363+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-5b0c44b7-c78c-4785-acec-c712868541f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:36:08.943363+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba092ba7-439b-4322-8137-d22df2af4cad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ba092ba7-439b-4322-8137-d22df2af4cad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-73516496-c54a-4bc2-acd8-f600587c136b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-73516496-c54a-4bc2-acd8-f600587c136b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-368011a7-b979-456c-94a0-a5331371ce41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "46ab34f2-74df-4021-9755-7b50a380a010", "created_at": "2024-03-06T09:36:09.167940+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/46ab34f2-74df-4021-9755-7b50a380a010", "rel": "self"}, {"href": "http://localhost/allocations/46ab34f2-74df-4021-9755-7b50a380a010", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00245_allocations_get_observer [0.079633s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_chassis_get_member [0.611036s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_allocations_get_admin [0.559804s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_allocation_id_patch_admin [0.316695s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00283_chassis_detail_get_member [0.628349s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_delete_admin [0.071727s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_delete_member [0.095966s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_nodes_allocation_get_member [0.060315s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_nodes_allocation_delete_observer [0.064563s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_delete_member [0.472578s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_deploy_templates_post_member [0.094230s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_chassis_id_get_member [0.375009s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_allocation_id_get_admin [0.640575s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-368011a7-b979-456c-94a0-a5331371ce41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "46ab34f2-74df-4021-9755-7b50a380a010", "created_at": "2024-03-06T09:36:09.167940+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/46ab34f2-74df-4021-9755-7b50a380a010", "rel": "self"}, {"href": "http://localhost/allocations/46ab34f2-74df-4021-9755-7b50a380a010", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path patch /v1/allocations/8360f77c-4224-41ff-bacc-1dbd76262b52 PATCH: /v1/allocations/8360f77c-4224-41ff-bacc-1dbd76262b52 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b8d39f0-e1bd-4c9a-a4b3-8333c8fb35cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8360f77c-4224-41ff-bacc-1dbd76262b52", "created_at": "2024-03-06T09:36:09.246743+00:00", "updated_at": "2024-03-06T09:36:09.533060+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/8360f77c-4224-41ff-bacc-1dbd76262b52", "rel": "self"}, {"href": "http://localhost/allocations/8360f77c-4224-41ff-bacc-1dbd76262b52", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b8d39f0-e1bd-4c9a-a4b3-8333c8fb35cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8360f77c-4224-41ff-bacc-1dbd76262b52", "created_at": "2024-03-06T09:36:09.246743+00:00", "updated_at": "2024-03-06T09:36:09.533060+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/8360f77c-4224-41ff-bacc-1dbd76262b52", "rel": "self"}, {"href": "http://localhost/allocations/8360f77c-4224-41ff-bacc-1dbd76262b52", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/4a139b49-12e3-49d5-a142-1a8c76390382 DELETE: /v1/allocations/4a139b49-12e3-49d5-a142-1a8c76390382 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98026cb0-06db-4c5f-8a3e-d4a902417763 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-98026cb0-06db-4c5f-8a3e-d4a902417763 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f1313798-87f1-45b5-94bb-a516390387a8 DELETE: /v1/allocations/f1313798-87f1-45b5-94bb-a516390387a8 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2492a295-3de2-4349-9e64-1b7a7927f71c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f1313798-87f1-45b5-94bb-a516390387a8 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2492a295-3de2-4349-9e64-1b7a7927f71c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f1313798-87f1-45b5-94bb-a516390387a8 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-9ad0277e-e888-4b9e-95b8-f33819f83f75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9ad0277e-e888-4b9e-95b8-f33819f83f75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5dfe062f-1810-406c-8e01-378290cc7e24 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5dfe062f-1810-406c-8e01-378290cc7e24 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e0e7cd5-173c-498b-be02-3ee7ac276469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e0e7cd5-173c-498b-be02-3ee7ac276469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2afc0129-b637-4517-b7c3-6e9d09e7fdfc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "rel": "self"}, {"href": "http://localhost/deploy_templates/546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_deploy_templates_get_observer [0.111362s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_deploy_template_id_get_admin [0.082223s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_delete_admin [0.063955s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00274_deploy_templates_deploy_template_id_delete_member [0.058853s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00247_allocations_allocation_id_get_member [0.166777s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_delete_observer [0.066574s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_chassis_post_member [0.067985s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_delete_admin [0.422349s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_detail_get_observer [0.056255s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_delete_observer [0.178178s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2afc0129-b637-4517-b7c3-6e9d09e7fdfc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "rel": "self"}, {"href": "http://localhost/deploy_templates/546f9dde-ebc0-4a29-b3b5-9e1c97e1985a", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9 GET: /v1/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-929e8042-6c09-427a-862e-9e00dca4b27d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "fc054885-36f0-4376-8558-8f10f1e893a9", "created_at": "2024-03-06T09:36:10.078067+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9", "rel": "self"}, {"href": "http://localhost/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9", "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-929e8042-6c09-427a-862e-9e00dca4b27d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "fc054885-36f0-4376-8558-8f10f1e893a9", "created_at": "2024-03-06T09:36:10.078067+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9", "rel": "self"}, {"href": "http://localhost/deploy_templates/fc054885-36f0-4376-8558-8f10f1e893a9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/ecfdcf2a-1603-4855-a05d-58d9effdbb50 DELETE: /v1/deploy_templates/ecfdcf2a-1603-4855-a05d-58d9effdbb50 GOT:Response: 204 No Content Openstack-Request-Id: req-33db4206-2a9c-4d88-95e0-5ae8ff555869 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-33db4206-2a9c-4d88-95e0-5ae8ff555869 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 API ACL Testing Path delete /v1/deploy_templates/17ad2e90-c16a-4d4e-91f0-4860613d3c23 DELETE: /v1/deploy_templates/17ad2e90-c16a-4d4e-91f0-4860613d3c23 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-700a06df-0717-41f7-8ae6-ab359d216809 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-700a06df-0717-41f7-8ae6-ab359d216809 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/cb1cdce0-5e4c-43b2-a3a0-d5249943a75e DELETE: /v1/deploy_templates/cb1cdce0-5e4c-43b2-a3a0-d5249943a75e GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0fda579e-048b-43d2-ba3c-45c1e3fc1f12 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0fda579e-048b-43d2-ba3c-45c1e3fc1f12 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4620e9e8-8310-473f-b085-16d69eb38088 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4620e9e8-8310-473f-b085-16d69eb38088 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eef4016e-1dc9-469d-8513-31d38c54d258 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:10.405953+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-eef4016e-1dc9-469d-8513-31d38c54d258 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:10.405953+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 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_chassis_id_get_observer [0.076349s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_chassis_id_patch_member [0.057444s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00290_chassis_chassis_id_patch_observer [0.065985s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_delete_observer [0.067649s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.456213s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.097170s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.095497s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.986760s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fdf33120-4df4-4494-be02-6816c242b7fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:36:07.428403+00:00", "updated_at": "2024-03-06T09:36:07.429441+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-dc49f25b-08f1-47bf-b984-21b31bb8298d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc49f25b-08f1-47bf-b984-21b31bb8298d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f17a14fa-d942-4519-9a7f-54341f01892b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "created_at": "2024-03-06T09:36:09.090390+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "rel": "self"}, {"href": "http://localhost/allocations/f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f17a14fa-d942-4519-9a7f-54341f01892b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "created_at": "2024-03-06T09:36:09.090390+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "rel": "self"}, {"href": "http://localhost/allocations/f9b81ecc-4269-4dd9-a49d-a21f835d6c53", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645 GET: /v1/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ceb9d1d0-f66f-4e06-b331-aae04f142714 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1d65c4f8-209b-4896-a9d4-9b505a42e645", "created_at": "2024-03-06T09:36:09.738991+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645", "rel": "self"}, {"href": "http://localhost/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ceb9d1d0-f66f-4e06-b331-aae04f142714 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1d65c4f8-209b-4896-a9d4-9b505a42e645", "created_at": "2024-03-06T09:36:09.738991+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645", "rel": "self"}, {"href": "http://localhost/allocations/1d65c4f8-209b-4896-a9d4-9b505a42e645", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/allocations/95a3d646-786d-4654-b1a3-91e4b10bd4da GET: /v1/allocations/95a3d646-786d-4654-b1a3-91e4b10bd4da {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a0fdeae-d7f9-4e6c-8bbf-1767b3e010ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 95a3d646-786d-4654-b1a3-91e4b10bd4da could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a0fdeae-d7f9-4e6c-8bbf-1767b3e010ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 95a3d646-786d-4654-b1a3-91e4b10bd4da could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/580fbca9-88ac-4a0e-828a-de474acad65f DELETE: /v1/allocations/580fbca9-88ac-4a0e-828a-de474acad65f GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-058ed332-172d-4a5f-913d-8294667d57ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-058ed332-172d-4a5f-913d-8294667d57ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-116a6adc-be6f-4e85-9514-cd23c044a351 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e31b311f-fb82-409a-bcc8-9de6c54a028d", "created_at": "2024-03-06T09:36:10.532929+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e31b311f-fb82-409a-bcc8-9de6c54a028d", "rel": "self"}, {"href": "http://localhost/allocations/e31b311f-fb82-409a-bcc8-9de6c54a028d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_nodes_allocation_get_admin [0.272871s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-44c37ef6-c2b6-41dc-89a7-408db8c87272 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:10.467995+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-44c37ef6-c2b6-41dc-89a7-408db8c87272 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:10.467995+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e2a81314-5838-4ad5-a76a-c2bf5ead5a96 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e2a81314-5838-4ad5-a76a-c2bf5ead5a96 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"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-c29131e0-8ca7-4717-b239-65b5229549cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c29131e0-8ca7-4717-b239-65b5229549cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-061f21ee-8552-4eee-8dbf-556a42f6c37e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-061f21ee-8552-4eee-8dbf-556a42f6c37e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c3611fda-9f94-4fba-8d71-bc3541bf1317 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-c3611fda-9f94-4fba-8d71-bc3541bf1317 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3f818031-f488-43b9-beef-8038ac3b54eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-3f818031-f488-43b9-beef-8038ac3b54eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08f9efb5-a6ff-405e-9a5c-1a6929baf07c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.072915s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.070801s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.069679s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.089137s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039 Openstack-Request-Id: req-951274c1-a928-4da2-b88f-4250394c8158 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "0c69a867-09d3-4954-8518-c7c2e6f77039", "created_at": "2024-03-06T09:36:07.221740+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039", "rel": "self"}, {"href": "http://localhost/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039/nodes", "rel": "self"}, {"href": "http://localhost/chassis/0c69a867-09d3-4954-8518-c7c2e6f77039/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-5831adde-f1d8-4745-9f9d-af6c88d371cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5831adde-f1d8-4745-9f9d-af6c88d371cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-016dbde5-f6cb-4e31-9212-fb370a681e87 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-016dbde5-f6cb-4e31-9212-fb370a681e87 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f5331eeb-0608-425a-ac13-25503ff78066 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:08.535435+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-f5331eeb-0608-425a-ac13-25503ff78066 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:08.535435+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-210cf6c4-7610-41f6-9bf3-c0c9d570701a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-210cf6c4-7610-41f6-9bf3-c0c9d570701a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aaa7c798-1a0d-4f1e-b4eb-531c9ec8954c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aaa7c798-1a0d-4f1e-b4eb-531c9ec8954c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"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-21cedb7b-dd83-49d2-b16d-c846673202c0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-21cedb7b-dd83-49d2-b16d-c846673202c0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fd16b93f-dcc9-49ef-8829-e27d3434090a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-fd16b93f-dcc9-49ef-8829-e27d3434090a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.796335s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_nodes_allocation_delete_admin [0.944438s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08f9efb5-a6ff-405e-9a5c-1a6929baf07c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f47e484a-73df-4d89-8152-288c4c727f2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f47e484a-73df-4d89-8152-288c4c727f2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c5eee01-9596-4788-a120-5e6861fffcac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c5eee01-9596-4788-a120-5e6861fffcac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dc618528-0812-49b1-92ac-fc4d04e86797 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dc618528-0812-49b1-92ac-fc4d04e86797 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-29f33205-e646-44ea-9066-86ba2b8fccca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:11.237278+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": "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, "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-03-06T09:36:11.250243+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": "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, "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": "b21d975f-8efa-4091-b52d-b36c371d7d74", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00021_owner_reader_can_get_detail [0.108943s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.140836s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.087830s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d90692ae-e507-4b4b-bf44-b92494320aca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1e267c14-d993-4098-bda3-636b17c3e066", "created_at": "2024-03-06T09:36:06.952453+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1e267c14-d993-4098-bda3-636b17c3e066", "rel": "self"}, {"href": "http://localhost/allocations/1e267c14-d993-4098-bda3-636b17c3e066", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d90692ae-e507-4b4b-bf44-b92494320aca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1e267c14-d993-4098-bda3-636b17c3e066", "created_at": "2024-03-06T09:36:06.952453+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1e267c14-d993-4098-bda3-636b17c3e066", "rel": "self"}, {"href": "http://localhost/allocations/1e267c14-d993-4098-bda3-636b17c3e066", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/ea84022a-8bfe-42d3-9f7c-e1b98610784b PATCH: /v1/allocations/ea84022a-8bfe-42d3-9f7c-e1b98610784b [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0d6b9a2-e3c7-4bde-a66f-65925f58d120 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ea84022a-8bfe-42d3-9f7c-e1b98610784b could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0d6b9a2-e3c7-4bde-a66f-65925f58d120 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ea84022a-8bfe-42d3-9f7c-e1b98610784b 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-80f77a93-1ce1-462a-9ecb-e47223b96309 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-80f77a93-1ce1-462a-9ecb-e47223b96309 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b2f4f26-63fb-4321-b3bd-a23a4db48c2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b2f4f26-63fb-4321-b3bd-a23a4db48c2e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-499faa8b-2d43-41b6-9234-35c3027ca230 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-499faa8b-2d43-41b6-9234-35c3027ca230 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-572d0baf-9c82-4861-99c2-c5197e536b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-572d0baf-9c82-4861-99c2-c5197e536b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e069c5d2-62df-433b-a8ff-94b6382b6a9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-e069c5d2-62df-433b-a8ff-94b6382b6a9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-632e449c-f605-487f-aa76-1fe69560b571 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.689947s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-29f33205-e646-44ea-9066-86ba2b8fccca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:11.237278+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": "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, "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-03-06T09:36:11.250243+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": "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, "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": "b21d975f-8efa-4091-b52d-b36c371d7d74", "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-7634c679-a0eb-4d74-ad61-3c15b579fc22 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7634c679-a0eb-4d74-ad61-3c15b579fc22 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88608ae9-c975-4b80-920a-5328031e4f17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88608ae9-c975-4b80-920a-5328031e4f17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a1717b3d-d726-414d-b7cb-1b73991bdee9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.084869s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.141839s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.069238s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.085283s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.379240s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.075241s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.426294s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_deploy_templates_post_observer [0.433949s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.158416s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00048_lessee_admin_can_patch_node_instance_info [0.075434s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.071774s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.417731s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.527557s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_deploy_template_id_get_member [0.326186s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a1717b3d-d726-414d-b7cb-1b73991bdee9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8e68f494-77c8-4743-a89f-1d1768d53830 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8e68f494-77c8-4743-a89f-1d1768d53830 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-939b8ff6-6b7b-4bc5-97ab-b628270f98c0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-939b8ff6-6b7b-4bc5-97ab-b628270f98c0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/properties', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-21ac73b0-4e04-4c0f-9609-d89711cf9851 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-21ac73b0-4e04-4c0f-9609-d89711cf9851 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44184b9c-ad0c-45bc-8aac-4870a136dab6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-44184b9c-ad0c-45bc-8aac-4870a136dab6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-de6876f2-f7d5-4ff7-b630-0e2b2c1951e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-de6876f2-f7d5-4ff7-b630-0e2b2c1951e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2b35b6db-72a5-4551-ba2a-f267c09a48d6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b35b6db-72a5-4551-ba2a-f267c09a48d6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-94c47690-1e33-4325-8e1c-ffa115619e46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-94c47690-1e33-4325-8e1c-ffa115619e46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"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-6da80771-f489-4cd4-9d24-4072d1087fbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00060_owner_admin_can_set_maintenance [0.075345s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.120884s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.092588s] ... ok POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-40c82b4b-4676-482e-b8ce-620e15ac996f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-40c82b4b-4676-482e-b8ce-620e15ac996f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-47521be0-1840-4991-9006-546df06b9e21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-47521be0-1840-4991-9006-546df06b9e21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/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-94dac07a-63ce-479f-81c1-28f6d9e37cad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-94dac07a-63ce-479f-81c1-28f6d9e37cad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0678a584-cedc-4dfd-98b4-56e2870514f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:12.557421+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "437b6b93-0931-4eff-b856-a912712aec4c", "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_00022_lessee_reader_can_get_detail [0.206319s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_deploy_template_id_get_observer [0.312282s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-632e449c-f605-487f-aa76-1fe69560b571 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b50bac9e-5e59-4f6c-891f-5ed11894ff25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b50bac9e-5e59-4f6c-891f-5ed11894ff25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-efb66597-9bc6-4b85-9eaa-6431956533ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:12.146738+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": "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, "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-efb66597-9bc6-4b85-9eaa-6431956533ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:12.146738+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.445497s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.500825s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.611445s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00270_deploy_templates_deploy_template_id_patch_admin [0.527064s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.298792s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_deploy_template_id_patch_observer [0.221505s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c48fb7cb-433e-44a7-bc75-ac1723aa15c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:12.754396+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "accd3edd-bc8f-43c0-ba57-69571cf2adfa", "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-c48fb7cb-433e-44a7-bc75-ac1723aa15c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:12.754396+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "accd3edd-bc8f-43c0-ba57-69571cf2adfa", "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/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00076_lessee_admin_cannot_get_boot_device [0.338825s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00019_owner_reader_can_get_restricted_fields [0.591994s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-116a6adc-be6f-4e85-9514-cd23c044a351 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e31b311f-fb82-409a-bcc8-9de6c54a028d", "created_at": "2024-03-06T09:36:10.532929+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e31b311f-fb82-409a-bcc8-9de6c54a028d", "rel": "self"}, {"href": "http://localhost/allocations/e31b311f-fb82-409a-bcc8-9de6c54a028d", "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-783480df-2631-4d68-bdc5-d237141127c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-783480df-2631-4d68-bdc5-d237141127c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d42ca4eb-32a7-432d-8a1c-f61b5e7951f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d42ca4eb-32a7-432d-8a1c-f61b5e7951f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/9738f08e-fefb-480d-8ba4-1470d0fabd2d GET: /v1/deploy_templates/9738f08e-fefb-480d-8ba4-1470d0fabd2d {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7035b67e-9d5b-4227-9aa8-d8260cb5d688 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7035b67e-9d5b-4227-9aa8-d8260cb5d688 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02 GET: /v1/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03ff43ef-768b-417b-b96f-022b672ac631 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b646e963-4cdf-4b95-977a-51568c4e6a02", "created_at": "2024-03-06T09:36:12.592926+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02", "rel": "self"}, {"href": "http://localhost/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02", "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-03ff43ef-768b-417b-b96f-022b672ac631 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b646e963-4cdf-4b95-977a-51568c4e6a02", "created_at": "2024-03-06T09:36:12.592926+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02", "rel": "self"}, {"href": "http://localhost/deploy_templates/b646e963-4cdf-4b95-977a-51568c4e6a02", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523 PATCH: /v1/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-be0bd511-7e02-4193-a5f3-c2ffe9addd0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8e2affab-b120-4c46-b276-31f302cd6523", "created_at": "2024-03-06T09:36:12.910555+00:00", "updated_at": "2024-03-06T09:36:13.199697+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523", "rel": "self"}, {"href": "http://localhost/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523", "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-be0bd511-7e02-4193-a5f3-c2ffe9addd0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8e2affab-b120-4c46-b276-31f302cd6523", "created_at": "2024-03-06T09:36:12.910555+00:00", "updated_at": "2024-03-06T09:36:13.199697+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523", "rel": "self"}, {"href": "http://localhost/deploy_templates/8e2affab-b120-4c46-b276-31f302cd6523", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/1b1d549e-6ac1-4108-8f43-de84f9779c00 PATCH: /v1/deploy_templates/1b1d549e-6ac1-4108-8f43-de84f9779c00 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b6ae309b-b604-4064-a812-2f041644221c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b6ae309b-b604-4064-a812-2f041644221c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_chassis_get_admin [0.248116s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00081_third_party_admin_cannot_get_boot_device [0.303199s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.366144s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.527412s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.165421s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00285_chassis_chassis_id_get_admin [0.461061s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00045_owner_admin_can_patch_node_instance_info [0.254050s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.472778s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.376225s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:chassis:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_chassis_id_patch_admin [0.292915s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00047_owner_reader_can_patch_node_instance_info [0.247786s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6da80771-f489-4cd4-9d24-4072d1087fbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-95772480-c9e4-42b0-ac32-6d77d9a2bb46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-95772480-c9e4-42b0-ac32-6d77d9a2bb46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a0a3d441-36fd-4f6a-8442-7970b71a84dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a0a3d441-36fd-4f6a-8442-7970b71a84dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-881d72dd-bee3-4d1e-8db9-11c700db5b9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-881d72dd-bee3-4d1e-8db9-11c700db5b9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4b315277-9f5c-4c6e-b411-83b5c1d4f5ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4b315277-9f5c-4c6e-b411-83b5c1d4f5ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c2720069-21fa-4838-ab3c-04a77af487d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c2720069-21fa-4838-ab3c-04a77af487d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-1af40469-1dba-4dc8-abcb-06804a6a9716 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1af40469-1dba-4dc8-abcb-06804a6a9716 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5fcfaf9-1d68-4e2b-8a88-c15107e9ccd6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c5fcfaf9-1d68-4e2b-8a88-c15107e9ccd6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-41e426f4-3868-4065-bce1-fb5b037064bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.278157s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-edf88725-090b-4982-aa2d-849b0bf1439e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:13.159446+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": "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, "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-edf88725-090b-4982-aa2d-849b0bf1439e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-06T09:36:13.159446+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": "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, "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-0cebf0c9-5c3b-4474-ac0b-ba792a3e3258 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0cebf0c9-5c3b-4474-ac0b-ba792a3e3258 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2f9b30c1-450f-4b66-ac94-4bff21c9c7fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2f9b30c1-450f-4b66-ac94-4bff21c9c7fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}] {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00094_owner_member_can_put_power_state_change [0.258887s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.562024s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0678a584-cedc-4dfd-98b4-56e2870514f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:12.557421+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "437b6b93-0931-4eff-b856-a912712aec4c", "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-2161847f-ae7e-4c3b-a4b5-574a3ff34934 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2161847f-ae7e-4c3b-a4b5-574a3ff34934 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7fd66954-29a8-494e-9b07-fb3f41baa61e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7fd66954-29a8-494e-9b07-fb3f41baa61e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2d4706be-e7a8-4379-9a42-5f8c2b076735 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2d4706be-e7a8-4379-9a42-5f8c2b076735 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-52f1dfb3-9a1a-43c9-9e30-8feada64b601 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-52f1dfb3-9a1a-43c9-9e30-8feada64b601 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c62af209-a420-4de5-9573-c17a3467aa81 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c62af209-a420-4de5-9573-c17a3467aa81 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}}] {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.408310s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_cannot_change_provision_state [0.084483s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_lessee_admin_cannot_set_console [0.096303s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.215980s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.066006s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.064964s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_member_can_set_console [0.165230s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.080893s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_owner_member_cannot_get_vendor_passthru_methods [0.075650s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.052933s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.460442s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_lessee_reader_cannot_get_vendor_passthru_methods [0.071916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.059131s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.760233s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.052756s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_owner_reader_cannot_get_vendor_passthru [0.234807s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.371563s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.170592s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-41e426f4-3868-4065-bce1-fb5b037064bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c34b894f-5cf4-438b-aa89-3003023900ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c34b894f-5cf4-438b-aa89-3003023900ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0dfc8c72-10e4-450e-99cc-8c8ae93f388e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0dfc8c72-10e4-450e-99cc-8c8ae93f388e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-3b32b8f6-c88c-4d10-874c-4e63b8567b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3b32b8f6-c88c-4d10-874c-4e63b8567b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e70f2a1-7442-4528-b040-50315f8ffca5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e70f2a1-7442-4528-b040-50315f8ffca5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-667fe387-fe8c-4f8b-9086-1f5e8b7cb628 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-667fe387-fe8c-4f8b-9086-1f5e8b7cb628 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-40968a2b-19d3-4d91-9697-97830fde0576 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-40968a2b-19d3-4d91-9697-97830fde0576 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cbf26a94-a6f3-4885-9cfc-1454f4face75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cbf26a94-a6f3-4885-9cfc-1454f4face75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-370937cc-d250-4c12-823f-0365032081a2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_lessee_member_cannot_get_vendor_passthru [0.185762s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-500a0c24-f02f-44e3-9ff0-e3f71a38678f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-500a0c24-f02f-44e3-9ff0-e3f71a38678f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c37d993-55a2-4cbb-980a-6dda9cab3f50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c37d993-55a2-4cbb-980a-6dda9cab3f50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-567c1ea7-07be-495d-a2a7-c68cb355c35e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-567c1ea7-07be-495d-a2a7-c68cb355c35e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-62e03656-5112-451d-93b7-a18a209d6901 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-62e03656-5112-451d-93b7-a18a209d6901 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c7c80f6-e084-4a92-8814-1686fb7ca4b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c7c80f6-e084-4a92-8814-1686fb7ca4b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60e42f18-2819-4c45-a847-4e86d591e103 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-60e42f18-2819-4c45-a847-4e86d591e103 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee7232c9-7365-49d1-a781-6992e70097f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ee7232c9-7365-49d1-a781-6992e70097f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c5b5b00f-8acd-40dc-b575-5fdcac5f6db7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c5b5b00f-8acd-40dc-b575-5fdcac5f6db7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00082_owner_admin_can_get_supported_boot_devices [0.434902s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_reader_cannot_get_vendor_passthru [0.189745s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.660848s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.291352s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_lessee_admin_cannot_post_vendor_passthru [0.356786s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.534255s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.336546s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.223823s] ... ok GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b94b8427-e336-4fd4-b236-5796ce40549f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b94b8427-e336-4fd4-b236-5796ce40549f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-feb7f752-542a-4008-a615-89b0a83e2aae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:13.982905+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-feb7f752-542a-4008-a615-89b0a83e2aae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:13.982905+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-310cad7f-cea0-42f2-8d06-d8d8c947506b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:14.420107+00:00", "updated_at": "2024-03-06T09:36:14.501279+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-310cad7f-cea0-42f2-8d06-d8d8c947506b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:36:14.420107+00:00", "updated_at": "2024-03-06T09:36:14.501279+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a221127-7a7d-4847-bdab-7406e9279a36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a221127-7a7d-4847-bdab-7406e9279a36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/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-e859782b-1d25-4940-a955-20e729297477 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e859782b-1d25-4940-a955-20e729297477 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.618710s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.626287s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.464302s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_lessee_member_cannot_post_vendor_passthru [1.074630s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.380106s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-68f297b5-8d54-4f45-b8c5-3e2aedd7d57c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-68f297b5-8d54-4f45-b8c5-3e2aedd7d57c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-c6a722bc-2ab0-4664-baac-501d29e86e15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c6a722bc-2ab0-4664-baac-501d29e86e15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/protected', 'value': True}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-165f4a09-345d-43d0-9249-66fb542eb2c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-165f4a09-345d-43d0-9249-66fb542eb2c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d8cc33bf-adcb-4cf0-b18f-f39ff017493e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8cc33bf-adcb-4cf0-b18f-f39ff017493e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1eff25b3-ea63-4346-b0bf-166d06e6a456 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1eff25b3-ea63-4346-b0bf-166d06e6a456 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5c2a3393-76c5-4071-b384-58c087076e56 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5c2a3393-76c5-4071-b384-58c087076e56 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-70565e17-70d2-4d5c-a7e1-15df2da6becd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-70565e17-70d2-4d5c-a7e1-15df2da6becd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d881dc1-56b6-489e-9819-9e63a34b1378 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1d881dc1-56b6-489e-9819-9e63a34b1378 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.185855s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.322189s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_owner_member_cannot_put_vendor_passthru [0.390148s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.137887s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00096_owner_reader_cannot_put_power_state_change [0.052530s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.515834s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.059968s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-13b2d080-132b-4aff-9c1a-19ee6345d64f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-13b2d080-132b-4aff-9c1a-19ee6345d64f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c9f59dac-e54e-43f2-bf63-36286f12a0d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c9f59dac-e54e-43f2-bf63-36286f12a0d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f9f838b6-d207-45d4-a543-d0f579269e8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9f838b6-d207-45d4-a543-d0f579269e8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-171436cd-8d18-458e-9dcc-c8a013f628f0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-171436cd-8d18-458e-9dcc-c8a013f628f0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/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-7b616fd7-1b39-41c3-af52-099456fca2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b616fd7-1b39-41c3-af52-099456fca2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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-9b0ad229-5cc8-4436-9625-1925a7a2cb33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b0ad229-5cc8-4436-9625-1925a7a2cb33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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-762a2694-b1ec-47c7-a655-4be04ac4960d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-762a2694-b1ec-47c7-a655-4be04ac4960d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b89e2d9f-f4c2-4d7a-a2c0-f8afcce882a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b89e2d9f-f4c2-4d7a-a2c0-f8afcce882a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_lessee_admin_can_change_provision_state [0.063939s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_owner_admin_can_set_raid_config [0.051153s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_lessee_member_cannot_put_vendor_passthru [0.447532s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.446139s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00025_owner_member_can_patch_node_extra [1.818039s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.295871s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_lessee_member_cannot_delete_vendor_passthru [0.540826s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-599b679a-5b12-43d8-828f-9389aee08034 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:16.504868+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "52477a83-c797-401e-a6d4-373eb188a152", "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-599b679a-5b12-43d8-828f-9389aee08034 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-06T09:36:16.504868+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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "52477a83-c797-401e-a6d4-373eb188a152", "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-1b5081cf-4d1b-4fa4-bcac-dae2eacbc358 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1b5081cf-4d1b-4fa4-bcac-dae2eacbc358 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.392491s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.589297s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_third_party_admin_cannot_set_raid_config [1.113835s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_third_party_admin_cannot_get_traits [0.460410s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.330237s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.421987s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-370937cc-d250-4c12-823f-0365032081a2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-945c1ea6-ede8-4635-bd13-44cf4ed71762 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-945c1ea6-ede8-4635-bd13-44cf4ed71762 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e3de2bcb-a141-4393-8f69-558415dee722 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e3de2bcb-a141-4393-8f69-558415dee722 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2ef21442-1bb3-43bd-b517-b89a558287fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2ef21442-1bb3-43bd-b517-b89a558287fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-da0f5b7b-c4e5-4bee-b507-2b4679e47bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-da0f5b7b-c4e5-4bee-b507-2b4679e47bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-61418cd1-92b2-42e9-9adf-ef79083b6b2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-61418cd1-92b2-42e9-9adf-ef79083b6b2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2771a521-8c99-4173-a398-f3fe15345361 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2771a521-8c99-4173-a398-f3fe15345361 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-32069454-92fa-4a7c-aa20-211d591397a0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-32069454-92fa-4a7c-aa20-211d591397a0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 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-b9e0bbd3-70bd-435a-8d29-41f5896c513b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_traits [0.337526s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_owner_admin_can_get_console [0.427001s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.275444s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.312782s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.288258s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_member_cannot_delete_traits [0.493455s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.228992s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_lessee_reader_cannot_get_console [0.422014s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_member_cannot_put_custom_traits [0.235540s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_lessee_member_cannot_put_custom_traits [0.123077s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-32a48552-d902-40c8-bb28-1351e2dfb749 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-32a48552-d902-40c8-bb28-1351e2dfb749 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6283d8bf-ff78-476a-b70b-3557b8203e1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6283d8bf-ff78-476a-b70b-3557b8203e1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9e969ec-3d93-440a-9f71-7d77bc33fcb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f9e969ec-3d93-440a-9f71-7d77bc33fcb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a1ff376-4295-4fc7-862f-e143ebdd826a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6a1ff376-4295-4fc7-862f-e143ebdd826a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9735daca-6915-4878-8f5c-02f0f75eceed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9735daca-6915-4878-8f5c-02f0f75eceed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8cecd27b-7310-410a-a203-ae6b16f5fd41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8cecd27b-7310-410a-a203-ae6b16f5fd41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-45032bc2-e70d-4996-916a-4f10bfa8dbf0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45032bc2-e70d-4996-916a-4f10bfa8dbf0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-608739b1-4544-4557-b236-c701ac503473 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-608739b1-4544-4557-b236-c701ac503473 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.386540s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_owner_reader_cannot_get_vendor_passthru_methods [0.461970s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00093_lessee_admin_can_put_power_state_change [0.270347s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.562595s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_member_cannot_post_vifs [0.220483s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_owner_reader_cannot_post_vifs [0.150887s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_change_provision_state [0.227772s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00182_third_party_admin_cannot_delete_vifs [0.131769s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_third_party_admin_cannot_change_provision_state [0.159468s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_lesse_readers_can_get_indicators [0.165829s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00049_lessee_member_cannot_patch_node_instance_info [0.475522s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00123_lessee_admin_cannot_get_vendor_passthru_methods [0.621378s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_member_can_set_raid_config [0.288292s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.279391s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_lessee_reader_not_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b9e0bbd3-70bd-435a-8d29-41f5896c513b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5c493d80-c154-4d7a-8bbd-bb6fe5544e7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5c493d80-c154-4d7a-8bbd-bb6fe5544e7f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a444c077-fe18-497b-8830-286ffacbdcd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a444c077-fe18-497b-8830-286ffacbdcd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-62d4e566-b89a-46a1-b54c-04256b567dfa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-62d4e566-b89a-46a1-b54c-04256b567dfa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-480cc4f4-3449-4012-b5c5-877e902c828c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-480cc4f4-3449-4012-b5c5-877e902c828c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8bb3d9fe-be3d-4e73-b08a-ea413155af9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8bb3d9fe-be3d-4e73-b08a-ea413155af9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af74019d-65ea-46ab-80af-f2bbac3e3a37 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-af74019d-65ea-46ab-80af-f2bbac3e3a37 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8f30dca5-0e5c-46ad-b9a0-9b9f131c2db4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8f30dca5-0e5c-46ad-b9a0-9b9f131c2db4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-f09880cc-fe44-465f-a35a-1fc191110324 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00188_owner_member_can_set_indicator [0.087061s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_member_cannot_get_vendor_passthru_methods [0.523238s] ... ok 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-c6deb7e8-964c-4688-9e1d-828d73439055 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c6deb7e8-964c-4688-9e1d-828d73439055 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c07b74c1-4420-4cb8-83f6-48c9fddf1e0c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c07b74c1-4420-4cb8-83f6-48c9fddf1e0c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-41957530-1a4c-4c0a-bd23-7dd1d9cb6ac8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-41957530-1a4c-4c0a-bd23-7dd1d9cb6ac8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '/name', 'value': 'meow-node-1'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cb0383f8-c1cc-4b6e-931a-9c925ad2a19d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb0383f8-c1cc-4b6e-931a-9c925ad2a19d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0774f3c-93e3-432c-8697-7ffc81a39d05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b0774f3c-93e3-432c-8697-7ffc81a39d05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-404a5cdb-ca1a-487b-bbd2-a3f8c034b976 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-404a5cdb-ca1a-487b-bbd2-a3f8c034b976 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-baa7ce01-b00e-4434-a5c6-39c393f00769 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-baa7ce01-b00e-4434-a5c6-39c393f00769 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/maintenance PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1103bcd0-d2f5-4c0e-876a-544f4bfc9e7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.256271s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_owner_reader_can_list_portgroups [0.272258s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_reader_cannot_get_console [0.570823s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_reader_can_read_portgroup [0.240486s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.481752s] ... ok 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-6b19f806-5d74-466c-97ad-671fa143436f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6b19f806-5d74-466c-97ad-671fa143436f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a15293c0-b0a1-4e95-b188-61495048a137 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a15293c0-b0a1-4e95-b188-61495048a137 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-72c492d8-0431-4b70-87c2-53bcdfbdac64 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-72c492d8-0431-4b70-87c2-53bcdfbdac64 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67caf247-6d61-4059-a27f-1937cf484678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-67caf247-6d61-4059-a27f-1937cf484678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb39febb-cf93-48fa-8c8f-53b6d86d46bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb39febb-cf93-48fa-8c8f-53b6d86d46bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-1b088e5b-6f5e-4930-84fd-2e97cc054b9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b088e5b-6f5e-4930-84fd-2e97cc054b9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-476625c8-1381-4be9-88bf-8b3779fc4a48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-476625c8-1381-4be9-88bf-8b3779fc4a48 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-10c1caa0-7692-405a-972a-32a78c480629 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-10c1caa0-7692-405a-972a-32a78c480629 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_owner_admin_cannot_get_vendor_passthru [0.447139s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_member_cannot_get_vendor_passthru [0.194789s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_owner_member_cannot_add_portgroup [0.231548s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.204085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_owner_admin_can_set_console [0.533201s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00132_owner_admin_cannot_post_vendor_passthru [0.151956s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00201_third_party_admin_cannot_add_portgroup [0.174731s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00134_owner_reader_cannot_post_vendor_passthru [0.058655s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_owner_admin_cannot_put_vendor_passthru [0.149761s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.437943s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_reader_cannot_put_vendor_passthru [0.182339s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_member_cannot_set_console [0.635163s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_lessee_member_cannot_modify_portgroup [0.557909s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00141_lessee_admin_cannot_put_vendor_passthru [0.263135s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_reader_cannot_put_vendor_passthru [0.173087s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.529048s] ... ok GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-644e80b2-ec8d-4c4c-a998-7eb2428251f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-644e80b2-ec8d-4c4c-a998-7eb2428251f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-601f0c27-620b-4202-b21c-ccb3d750010f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-601f0c27-620b-4202-b21c-ccb3d750010f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c92032e-68c9-4acb-b4f7-b9ddce1068b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c92032e-68c9-4acb-b4f7-b9ddce1068b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d6a1a037-344e-4d53-ba08-95ecc1d4af0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d6a1a037-344e-4d53-ba08-95ecc1d4af0a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d0021723-e9c7-4a9f-946a-2d7abd4caf4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d0021723-e9c7-4a9f-946a-2d7abd4caf4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eee7fb25-5231-4248-81ff-6b51964cda88 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eee7fb25-5231-4248-81ff-6b51964cda88 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8e8ee118-39ce-4aee-a4e4-9428e63a8862 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8e8ee118-39ce-4aee-a4e4-9428e63a8862 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f790ae3c-df08-4a05-b71e-7117fe861bb9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f790ae3c-df08-4a05-b71e-7117fe861bb9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_reader_cannot_delete_vendor_passthru [0.111050s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_get_traits [0.058253s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c67d6284-3152-4d1e-a78f-af2dabdc227c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c67d6284-3152-4d1e-a78f-af2dabdc227c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-51abedb0-62b6-4f7f-b170-907dc40f8fca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-51abedb0-62b6-4f7f-b170-907dc40f8fca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb6c7f4c-37e5-4e63-a9f6-9bad44cdf382 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cb6c7f4c-37e5-4e63-a9f6-9bad44cdf382 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-396047cb-74e4-4e8c-b754-2732f1f312b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-396047cb-74e4-4e8c-b754-2732f1f312b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-37bcc824-d461-4ed5-b331-b27edae78eca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-37bcc824-d461-4ed5-b331-b27edae78eca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b8124bea-dc29-4d65-bcdf-819af968f68a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b8124bea-dc29-4d65-bcdf-819af968f68a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f28eb2e-58a6-47c5-9409-db3efe710593 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7f28eb2e-58a6-47c5-9409-db3efe710593 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fbf6d522-3611-490f-b646-9203b00ff21a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fbf6d522-3611-490f-b646-9203b00ff21a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_lessee_admin_cannot_get_vendor_passthru [0.591796s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f09880cc-fe44-465f-a35a-1fc191110324 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f928f08a-6f34-4dfd-9e25-f45412543de3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f928f08a-6f34-4dfd-9e25-f45412543de3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-220676ce-5012-49ff-846a-f5fb97583638 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:36:22.116185+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-220676ce-5012-49ff-846a-f5fb97583638 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:36:22.116185+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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7a3cef16-f7cf-497e-985f-e263ed7b85e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7a3cef16-f7cf-497e-985f-e263ed7b85e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-382a32c0-1c02-4315-b7a7-94f4c58bffff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-382a32c0-1c02-4315-b7a7-94f4c58bffff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eb6ebb35-672c-4fd2-8989-1e632228cf89 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eb6ebb35-672c-4fd2-8989-1e632228cf89 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e847dca0-5e44-49ff-9dbb-bb2a17d4face X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_third_party_admin_cannot_modify_portgroup [0.487495s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00212_owner_reader_can_get_node_portgroups [0.076280s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_owner_member_cannot_post_vendor_passthru [0.266843s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_lessee_reader_can_list_ports [0.179898s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_member_cannot_put_traits [0.438231s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_owner_reader_can_read_port [0.100299s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_third_party_admin_cannot_put_traits [0.185736s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_owner_admin_cannot_delete_vendor_passthru [0.206542s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_reader_can_read_port [0.177643s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.793744s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_can_delete_traits [0.154397s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.124315s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_third_party_admin_cannot_get_ports [0.186358s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_reader_cannot_delete_vendor_passthru [0.266193s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e847dca0-5e44-49ff-9dbb-bb2a17d4face X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"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-ccb2fc50-46d9-46ac-88ab-8a5260309d72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ccb2fc50-46d9-46ac-88ab-8a5260309d72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8066981e-5034-4803-b1ca-41fa56ef880d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8066981e-5034-4803-b1ca-41fa56ef880d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GET: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2da68f20-f147-4fb3-80d3-5d667a7eb53d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-06T09:36:23.918196+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-2da68f20-f147-4fb3-80d3-5d667a7eb53d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-06T09:36:23.918196+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/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-5dbce30c-9147-4bdd-877a-85e094fa6317 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:24.114288+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-5dbce30c-9147-4bdd-877a-85e094fa6317 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:24.114288+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} API ACL Testing Path get /v1/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-1b0b093c-abdf-4876-8b9b-ad544c9666dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b0b093c-abdf-4876-8b9b-ad544c9666dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f 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-28a4aff1-1d44-4ebb-b775-9fd4c9e80c65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_owner_reader_can_get_ports_by_portgroup [0.110402s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_third_party_admin_cannot_post_volume_connector [0.182119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_lessee_admin_cannot_delete_traits [0.319148s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_owner_member_can_change_provision_state [0.346575s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_lessee_reader_can_get_volume_connector [0.087416s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_admin_cannot_put_custom_traits [0.325224s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_member_cannot_patch_volume_connectors [0.252015s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_lessee_admin_cannot_delete_vendor_passthru [0.644604s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1103bcd0-d2f5-4c0e-876a-544f4bfc9e7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5dee08ff-984e-4897-809b-6bc33f22e966 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5dee08ff-984e-4897-809b-6bc33f22e966 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-2fba2c93-836c-4ba5-b609-ae39305148df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2fba2c93-836c-4ba5-b609-ae39305148df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3e0c8538-0982-4d84-8db6-3ada7502ccfd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e0c8538-0982-4d84-8db6-3ada7502ccfd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84a47550-19e4-418c-bd68-63d4c54f620d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-84a47550-19e4-418c-bd68-63d4c54f620d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ef334385-c5a3-41b0-b193-62ee591de7b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ef334385-c5a3-41b0-b193-62ee591de7b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-17eb6793-31fe-4d97-991a-113daa4ee49b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-17eb6793-31fe-4d97-991a-113daa4ee49b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-4416c27b-1e64-469c-86cb-c87fdd841050 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4416c27b-1e64-469c-86cb-c87fdd841050 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c71cd11-b8a9-466c-a5d7-7c1663973011 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_lessee_admin_cannot_set_raid_config [0.355949s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_lessee_admin_cannot_patch_volume_connectors [0.292705s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_member_cannot_set_raid_config [0.374029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_lessee_admin_can_post_vifs [0.466501s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_lessee_admin_cannot_get_console [0.057806s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_owner_member_can_get_console [0.072824s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_lessee_member_cannot_get_console [0.082434s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_third_party_admin_cannot_get_console [0.057563s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00120_owner_admin_cannot_get_vendor_passthru_methods [0.061028s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_owner_reader_get_traits [0.694217s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_reader_cannot_post_vendor_passthru [0.063031s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lesse_reader_can_get_targets [0.559156s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3c71cd11-b8a9-466c-a5d7-7c1663973011 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fede93b9-6508-4afc-9b5a-8cfee97b6d8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fede93b9-6508-4afc-9b5a-8cfee97b6d8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d1d81ce3-5096-4e4f-bde3-5b644e0c9ad8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d1d81ce3-5096-4e4f-bde3-5b644e0c9ad8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88d48473-fa96-4636-873d-1f4d2669e50a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88d48473-fa96-4636-873d-1f4d2669e50a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1cd224d4-66e6-49e6-9c2e-fd087ce586d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1cd224d4-66e6-49e6-9c2e-fd087ce586d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b7e67565-1fe1-4ff9-bcdd-39e22370f1ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b7e67565-1fe1-4ff9-bcdd-39e22370f1ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a39fd2b7-fd03-4896-ae04-e6dd26f3196e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a39fd2b7-fd03-4896-ae04-e6dd26f3196e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f2b8f7b-503d-4fc6-9ee6-ed8bcc18636d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f2b8f7b-503d-4fc6-9ee6-ed8bcc18636d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fefa4283-7067-48d0-a2cb-e0b400de2d41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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_00145_owner_member_cannot_delete_vendor_passthru [0.055981s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_third_party_admin_cannot_create_volume_target [0.131653s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28a4aff1-1d44-4ebb-b775-9fd4c9e80c65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-822c0f01-99bd-4072-926d-69c2885e8887 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-822c0f01-99bd-4072-926d-69c2885e8887 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0877268a-acb3-4da3-8334-9bf22699f469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:24.710526+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-0877268a-acb3-4da3-8334-9bf22699f469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:24.710526+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-e7c0347e-dee0-4054-b32f-c51b098d1e1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e7c0347e-dee0-4054-b32f-c51b098d1e1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c592d4b-ac19-4ba7-bcd9-e5444b05560d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c592d4b-ac19-4ba7-bcd9-e5444b05560d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a299da2a-4db2-4d8f-9d82-08382e8571e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a299da2a-4db2-4d8f-9d82-08382e8571e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 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-80524c61-f773-43a1-ae26-c6330947b0cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-80524c61-f773-43a1-ae26-c6330947b0cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-51fe7e15-faae-4717-8319-9689ee386d5b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_lessee_admin_can_patch_volume_target [0.058523s] ... ok 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-cd705c77-136a-4406-97ec-d04ace98b691 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd705c77-136a-4406-97ec-d04ace98b691 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-36460686-7f39-4d66-af56-9e289a1bdd62 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-36460686-7f39-4d66-af56-9e289a1bdd62 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bfbb86d7-0d01-4012-a09b-ef4399ce176d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bfbb86d7-0d01-4012-a09b-ef4399ce176d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2650dc39-b1c2-494b-876e-3735e2d4fcf7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2650dc39-b1c2-494b-876e-3735e2d4fcf7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78ab4817-2fcd-4c2d-bdcb-a68768de8757 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78ab4817-2fcd-4c2d-bdcb-a68768de8757 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-709d746c-5405-4f32-b52b-b614a1bb107d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-709d746c-5405-4f32-b52b-b614a1bb107d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-18973c15-9abd-4bbf-aef4-d586f0392b7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-18973c15-9abd-4bbf-aef4-d586f0392b7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-6d4b572e-4a71-4284-9d65-803fb3e318a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6d4b572e-4a71-4284-9d65-803fb3e318a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_lessee_reader_cannot_post_vifs [0.541060s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00274_lessee_admin_can_delete_volume_target [0.065498s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_owner_member_cannot_delete_volume_target [0.062777s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_admin_can_put_traits [0.330335s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_third_party_admin_cannot_post_vifs [0.234737s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_lessee_reader_can_get_node_volume_targets [0.063238s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_lessee_reader_can_get_bios_settings [0.077985s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_third_party_admin_cannot_get_bios_settings [0.058183s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00293_owner_reader_cannot_get_conductors [0.044795s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_traits [0.230896s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_lessee_member_cannot_delete_vifs [0.233582s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00300_owner_admin_can_delete_their_allocation [0.056762s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_traits [0.756715s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_owner_readers_can_get_indicators [0.214862s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_third_party_admin_cannot_delete_traits [0.244459s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-51fe7e15-faae-4717-8319-9689ee386d5b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67baaeae-b5d1-4d2b-a20c-19a182f2820f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-67baaeae-b5d1-4d2b-a20c-19a182f2820f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4ea1d43b-b418-4611-b3b7-904f1fe3e154 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4ea1d43b-b418-4611-b3b7-904f1fe3e154 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5ab18fd-54bd-4fac-872d-fdb6ea4a8612 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f5ab18fd-54bd-4fac-872d-fdb6ea4a8612 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14403177-707f-4dc5-9670-35b1a884e9ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14403177-707f-4dc5-9670-35b1a884e9ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": []} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aeeac6ff-f723-4368-a72e-de0cfc8a10cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aeeac6ff-f723-4368-a72e-de0cfc8a10cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-863e8369-9528-46ce-babb-a979e051b74d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-863e8369-9528-46ce-babb-a979e051b74d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/405d5d79-1582-458c-bd99-4636bfd704ca DELETE: /v1/allocations/405d5d79-1582-458c-bd99-4636bfd704ca GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d2a62f40-3088-40cd-ab00-c77fab4d834a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d2a62f40-3088-40cd-ab00-c77fab4d834a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/09ce50e1-0644-494f-b955-a23cf0b02d86 DELETE: /v1/allocations/09ce50e1-0644-494f-b955-a23cf0b02d86 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b8740357-55ef-45f9-8cbc-c2773ffe8f27 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00301_lessee_admin_can_delete_their_allocation [0.399508s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_owner_admin_can_put_custom_traits [0.273706s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_third_party_admin_cannot_put_custom_traits [0.582609s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00190_third_party_admin_cannot_set_indicator [0.292992s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_owner_member_can_delete_their_allocation [0.372067s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_reader_get_vifs [0.317993s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_admin_can_create_allocation_with_their_uuid [0.161033s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_third_party_admin_cannot_read_an_allocation [0.045891s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_third_party_admin_cannot_patch_an_allocation [0.060825s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e6450ef3-b14d-40ff-b54c-f3c1ca1a7d6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e6450ef3-b14d-40ff-b54c-f3c1ca1a7d6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-805730e5-5500-4103-af87-deb10719a797 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-805730e5-5500-4103-af87-deb10719a797 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-41f5f3a2-2385-408a-bc25-0906fe76c678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-41f5f3a2-2385-408a-bc25-0906fe76c678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-49471cf4-2042-48f9-a8f3-48df002e2c8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-49471cf4-2042-48f9-a8f3-48df002e2c8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cceabaa7-d7f3-4f87-8b93-babbbdbe4fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cceabaa7-d7f3-4f87-8b93-babbbdbe4fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b7ed50f4-cd4b-4aca-9be6-d596f013b682 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b7ed50f4-cd4b-4aca-9be6-d596f013b682 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": []} 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-930436ef-44a7-4834-a37a-bf76eea13d45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-930436ef-44a7-4834-a37a-bf76eea13d45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0e6a46c2-72bd-4f8e-bc4f-3c2b66c9b48d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0e6a46c2-72bd-4f8e-bc4f-3c2b66c9b48d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-98951950-1967-4cd6-b084-f2fbf7a57f0c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_third_party_admin_cannot_get_vifs [0.308017s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_lessee_admin_cannot_add_portgroup [0.396949s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_lessee_admin_can_delete_allocation [0.058254s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_get_deploy_templates [0.054760s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_reader_get_vifs [0.335548s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_post_deploy_template [0.056019s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_admin_can_modify_portgroup [0.215453s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_member_cannot_delete_portgroup [0.139734s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b8740357-55ef-45f9-8cbc-c2773ffe8f27 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/983ff59b-3107-4884-9692-c9b79e2e6dd2 DELETE: /v1/allocations/983ff59b-3107-4884-9692-c9b79e2e6dd2 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd806e31-f02c-491e-aada-8586ab0f11de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd806e31-f02c-491e-aada-8586ab0f11de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e9dde4f5-c271-4c88-942a-09a5e9a9b5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e9dde4f5-c271-4c88-942a-09a5e9a9b5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/9e543bec-ce3f-44d6-aea2-515675136204 GET: /v1/allocations/9e543bec-ce3f-44d6-aea2-515675136204 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c615d537-8971-48df-8882-ef2fdc5b3fd7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9e543bec-ce3f-44d6-aea2-515675136204 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c615d537-8971-48df-8882-ef2fdc5b3fd7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9e543bec-ce3f-44d6-aea2-515675136204 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/bb9887da-477e-46a6-93e4-39aa2a04591b PATCH: /v1/allocations/bb9887da-477e-46a6-93e4-39aa2a04591b [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-148f6fb8-8bb6-4580-9c57-5292cd05d5fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bb9887da-477e-46a6-93e4-39aa2a04591b could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-148f6fb8-8bb6-4580-9c57-5292cd05d5fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bb9887da-477e-46a6-93e4-39aa2a04591b could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00524a6d-b99c-4792-ad2f-ea81e442f0ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-00524a6d-b99c-4792-ad2f-ea81e442f0ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1c600724-d55f-4ee8-9be7-05581fa324c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-1c600724-d55f-4ee8-9be7-05581fa324c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-0e7cbd35-4119-4435-accf-8afd70d664a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-0e7cbd35-4119-4435-accf-8afd70d664a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-38af66af-ff6c-4753-a9f9-6debb1033b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_access_chassis [0.049998s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_create_chassis [0.047758s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.052037s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.058077s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.053666s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.059557s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.052753s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.061028s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00027_nodes_maintenance_put_member [0.057007s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.057217s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00173_owner_member_can_post_vifs [0.607766s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-716b8561-17f0-46cc-9642-a1987f4c4327 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-716b8561-17f0-46cc-9642-a1987f4c4327 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4839dea9-1d63-4702-8a55-86ee76601078 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4839dea9-1d63-4702-8a55-86ee76601078 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-5d652e3e-0a36-4b59-bcb6-772e0cec5e7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5d652e3e-0a36-4b59-bcb6-772e0cec5e7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2cb88abd-3557-4120-8bb7-5b69eef83180 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2cb88abd-3557-4120-8bb7-5b69eef83180 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-04972cb3-dfb7-4006-8e59-83aa6604edc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-04972cb3-dfb7-4006-8e59-83aa6604edc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c75bfe64-5bd3-4faf-a944-d69f5d88ed91 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c75bfe64-5bd3-4faf-a944-d69f5d88ed91 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b3625356-b7ce-4611-bbbe-113f1fbd40b0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3625356-b7ce-4611-bbbe-113f1fbd40b0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd1584f6-f755-40e6-9315-a246eb6626c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd1584f6-f755-40e6-9315-a246eb6626c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cee4bc01-5811-44ef-93c7-55835fd893b1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_third_party_admin_cannot_list_ports [0.215428s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_admin_cannot_add_ports_to_other_nodes [0.152316s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00226_third_party_admin_cannot_add_port [0.072950s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_owner_admin_can_modify_port [0.134406s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fefa4283-7067-48d0-a2cb-e0b400de2d41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits 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-b78152ba-af02-4c5e-a9da-f0666caee571 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b78152ba-af02-4c5e-a9da-f0666caee571 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2036121b-2139-493a-93cc-b18e477bba5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2036121b-2139-493a-93cc-b18e477bba5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8da3f734-d874-449b-816a-bb4186e5be50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8da3f734-d874-449b-816a-bb4186e5be50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-ad28eacd-6d56-4af7-bd65-70fee5e33c65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ad28eacd-6d56-4af7-bd65-70fee5e33c65 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2be549b3-5e80-472a-81b9-86c78d877300 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2be549b3-5e80-472a-81b9-86c78d877300 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-c9761f4d-4699-4e7b-bfc4-822a916d8868 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c9761f4d-4699-4e7b-bfc4-822a916d8868 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bd4272c7-1fe2-415d-96d1-4f22d45cd0b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd4272c7-1fe2-415d-96d1-4f22d45cd0b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6c7abe18-717b-4eab-bef1-47c3136cfad5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_admin_delete_vifs [0.440129s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_lessee_admin_cannot_modify_port [0.374236s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.717438s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_owner_member_can_delete_vifs [0.307072s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_owner_member_cannot_delete_port [0.189038s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.189194s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_owner_admin_can_post_vifs [1.749310s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_get_connector_list [0.149934s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.064016s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_third_party_admin_cannot_get_indicators [0.257935s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-38af66af-ff6c-4753-a9f9-6debb1033b93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e09765cc-6914-4ab3-b6c5-d6c63076a488 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-e09765cc-6914-4ab3-b6c5-d6c63076a488 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07e71eb0-b7a7-4f53-97ad-a8943135fcd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07e71eb0-b7a7-4f53-97ad-a8943135fcd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5bf02401-3b2b-4ae5-b3a5-0a0562c47115 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3c9a567c-6034-4b15-a655-be1bc1f87aa8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-87ef66eb-ff27-4366-a525-90abce4e4ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-3decf5ae-f91a-4534-8bcb-07fbeb17b808 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a5bb2abd-a60e-47c8-9eff-88df7895bc61 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4123fba6-3652-4f82-bdce-5c772ed9aac8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eb7f6331-e995-4562-a555-03e85f849dc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc80650a-258b-4f44-a197-e2054b38642c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-ed586839-ab3d-4fbe-b29b-d8312aa672c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f8d75f6d-df69-4510-9089-dc8388851e8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.058710s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.059789s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00247_lessee_admin_cannot_post_volume_connector [0.208542s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_lessee_member_cannot_set_indicator [0.201378s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00052_nodes_states_provision_put_observer [0.180485s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_owner_member_can_patch_volume_connectors [0.231350s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_can_delete_vifs [0.473749s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_third_party_admin_cannot_list_portgroups [0.354630s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cee4bc01-5811-44ef-93c7-55835fd893b1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} 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-f62db30f-9a3b-4657-ae9e-6e2cbbd8c16a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f62db30f-9a3b-4657-ae9e-6e2cbbd8c16a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f0e895c7-31a3-442f-b169-84cdb10e508d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f0e895c7-31a3-442f-b169-84cdb10e508d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-224cf959-943d-43a9-84e5-d17e65319774 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-224cf959-943d-43a9-84e5-d17e65319774 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24617832-7978-4dd5-a0e8-5abd01407a6b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-24617832-7978-4dd5-a0e8-5abd01407a6b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-972d9617-cba7-40bb-b2f7-5fde3e16cc5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-972d9617-cba7-40bb-b2f7-5fde3e16cc5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"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-b3bba38c-e736-401c-9fd7-ff13f667821b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3bba38c-e736-401c-9fd7-ff13f667821b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": []} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3aeb546-88b3-4a57-9806-3cf9746b79e9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a3aeb546-88b3-4a57-9806-3cf9746b79e9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a3b0b27d-1441-47d5-ac12-52dc7bdc98be X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3b0b27d-1441-47d5-ac12-52dc7bdc98be X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00258_lessee_admin_can_delete_volume_connectors [0.186427s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_raid_put_observer [0.602432s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_reader_can_get_targets [0.304436s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_lessee_reader_can_list_portgroups [0.616028s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_target [0.255949s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_read_portgroup [0.662158s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_post_member [0.529073s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_target [0.365186s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_reader_can_read_portgroup [0.541588s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_owner_member_cannot_modify_portgroup [0.436507s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_traits_get_admin [0.391192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_target [0.516466s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_admin_can_add_portgroup [0.631819s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_trait_put_observer [0.435156s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_third_party_admin_cannot_delete_volume_target [0.298445s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_lessee_admin_cannot_modify_portgroup [0.702434s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_vifs_get_admin [0.399208s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa9e93ed-268a-49a4-baa2-b85f174e00c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa9e93ed-268a-49a4-baa2-b85f174e00c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a1c48912-0f09-45d8-9697-1f3471e3b7a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a1c48912-0f09-45d8-9697-1f3471e3b7a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-f27f3372-f28c-477c-8ec2-7107b0ad9d7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:30.250179+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-f27f3372-f28c-477c-8ec2-7107b0ad9d7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:30.250179+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-7c575ac9-a0dc-4f33-886c-b8757ef7b270 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7c575ac9-a0dc-4f33-886c-b8757ef7b270 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9aa57cb8-b6d4-4a12-9601-fbc0ff40a1e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9aa57cb8-b6d4-4a12-9601-fbc0ff40a1e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e4585581-df4c-4a25-b893-28c303848c54 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e4585581-df4c-4a25-b893-28c303848c54 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_lessee_reader_can_get_node_volume_connectors [0.251761s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_owner_reader_cannot_get_drivers [0.236491s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_vifs_post_member [0.318337s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_admin_cannot_delete_portgroup [0.604400s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_reader_cannot_get_drivers [0.345546s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-98951950-1967-4cd6-b084-f2fbf7a57f0c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6539321b-4794-4693-861f-24290a79a53e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6539321b-4794-4693-861f-24290a79a53e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c4609844-7ae7-45c1-8911-6edee5bcf450 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c4609844-7ae7-45c1-8911-6edee5bcf450 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1bd001a6-f07e-414b-ac02-7e67b3544ba2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1bd001a6-f07e-414b-ac02-7e67b3544ba2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0057706-7051-4710-a31d-5fbe235ec05d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-03-06T09:36:30.424264+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-d0057706-7051-4710-a31d-5fbe235ec05d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-03-06T09:36:30.424264+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2 Openstack-Request-Id: req-55cba254-99d6-4dfa-bddd-d878d105e43a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "created_at": "2024-03-06T09:36:31.372460+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/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "rel": "self"}, {"href": "http://localhost/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2/ports", "rel": "self"}, {"href": "http://localhost/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2 Openstack-Request-Id: req-55cba254-99d6-4dfa-bddd-d878d105e43a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "created_at": "2024-03-06T09:36:31.372460+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/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "rel": "self"}, {"href": "http://localhost/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2/ports", "rel": "self"}, {"href": "http://localhost/portgroups/8ad65a59-f3f1-486a-b71a-9e3f0c0b61d2/ports", "rel": "bookmark"}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00200_lessee_member_cannot_add_portgroup [0.784072s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_management_indicators_get_observer [0.569997s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c7abe18-717b-4eab-bef1-47c3136cfad5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4626083f-fad3-4cd7-8b82-c674a20c9042 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4626083f-fad3-4cd7-8b82-c674a20c9042 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e6cd06f8-8656-4b85-a513-1687f56f3202 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e6cd06f8-8656-4b85-a513-1687f56f3202 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3661e9a-b003-4aea-b20e-b11a9b5b1089 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a3661e9a-b003-4aea-b20e-b11a9b5b1089 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7d2dd2a-9331-4a0c-ba8b-bb52a9062d50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7d2dd2a-9331-4a0c-ba8b-bb52a9062d50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": []} 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-f06cb308-9f2f-4fc6-bad1-100d8246c618 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f06cb308-9f2f-4fc6-bad1-100d8246c618 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"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-3f37ede5-5126-4163-927b-04a650f2c591 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3f37ede5-5126-4163-927b-04a650f2c591 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ec809888-ab5e-4fe8-a4fc-1aa562486dae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ec809888-ab5e-4fe8-a4fc-1aa562486dae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7645214b-f0cd-4a01-882e-0ce431cfc747 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7645214b-f0cd-4a01-882e-0ce431cfc747 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_lessee_member_cannot_delete_portgroup [0.475773s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_owner_admin_can_delete_portgroup [0.835139s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_third_party_admin_cannot_get_drivers_vendor_passthru [0.708136s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_read_port [0.677116s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_lessee_reader_cannot_get_conductors [0.396813s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_third_party_admin_cannot_delete_portgroup [0.445841s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_detail_get_admin [0.460142s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_lessee_member_cannot_add_port [0.466151s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_reader_can_get_node_porgtroups [0.550428s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_lessee_reader_can_get_allocations [0.681252s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_owner_member_cannot_modify_port [0.355252s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_member_cannot_modify_port [0.063792s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_third_party_admin_cannot_get_portgroups [0.266688s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_lessee_admin_cannot_delete_port [0.103375s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_portgroup_ident_get_admin [0.603530s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_third_party_admin_cannot_delete_port [0.145394s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38ff6ed9-ba52-49ae-8cb4-ebfbe21f5545 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-38ff6ed9-ba52-49ae-8cb4-ebfbe21f5545 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dba705ed-9b69-428c-a6e9-d2962ed7a5b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-dba705ed-9b69-428c-a6e9-d2962ed7a5b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2879aea6-7fd3-473d-bc04-2a77ea269e5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2879aea6-7fd3-473d-bc04-2a77ea269e5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-b9ded610-52b1-4dae-8cd7-0099aa82e466 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-b9ded610-52b1-4dae-8cd7-0099aa82e466 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0605a711-6e6d-4681-afb1-4998e7345fbf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-0605a711-6e6d-4681-afb1-4998e7345fbf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-071ab510-b8c0-4bd9-bfdf-48d31cf072c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "6dad3565-b68d-47a4-8871-46ab06544ab9", "created_at": "2024-03-06T09:36:33.761625+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6dad3565-b68d-47a4-8871-46ab06544ab9", "rel": "self"}, {"href": "http://localhost/allocations/6dad3565-b68d-47a4-8871-46ab06544ab9", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-071ab510-b8c0-4bd9-bfdf-48d31cf072c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "6dad3565-b68d-47a4-8871-46ab06544ab9", "created_at": "2024-03-06T09:36:33.761625+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6dad3565-b68d-47a4-8871-46ab06544ab9", "rel": "self"}, {"href": "http://localhost/allocations/6dad3565-b68d-47a4-8871-46ab06544ab9", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/allocations/e16a320f-fb96-4291-82d8-c821f256735c GET: /v1/allocations/e16a320f-fb96-4291-82d8-c821f256735c {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bba7ec36-d8bc-4fad-867e-33e37189b182 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e16a320f-fb96-4291-82d8-c821f256735c", "created_at": "2024-03-06T09:36:34.436656+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/e16a320f-fb96-4291-82d8-c821f256735c", "rel": "self"}, {"href": "http://localhost/allocations/e16a320f-fb96-4291-82d8-c821f256735c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} resource_class CUSTOM_TEST {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_can_get_their_allocation [0.394023s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_owner_reader_can_list_ports [0.437520s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4796e28e-e6cc-4255-a8db-7c48e9357eac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4796e28e-e6cc-4255-a8db-7c48e9357eac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": 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-590e2b61-4afc-4931-9c2b-185d37202522 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-590e2b61-4afc-4931-9c2b-185d37202522 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-150ee37c-0271-49f1-840d-d9e8fee8cf20 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-150ee37c-0271-49f1-840d-d9e8fee8cf20 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-339d8206-4628-40ac-a160-085a0294e745 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-339d8206-4628-40ac-a160-085a0294e745 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-059cfe36-47aa-47ce-b90c-77c3fadbfaaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-059cfe36-47aa-47ce-b90c-77c3fadbfaaa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c6162eef-fa5a-446d-a83d-277d781bcc44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c6162eef-fa5a-446d-a83d-277d781bcc44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-363abbb3-57c2-48df-a198-53d4139ba066 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-363abbb3-57c2-48df-a198-53d4139ba066 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f694ed7c-36f7-4d2c-80d1-3113fdd0024f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_reader_can_get_node_ports [0.185568s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_nodes_portgroups_detail_get_member [0.492308s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_member_can_patch_allocation [0.343755s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_lessee_reader_can_get_ports_by_portgroup [0.273529s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_add_ports [0.387993s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_third_party_admin_cannot_get_ports_by_portgroup [0.246733s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_third_party_admin_cannot_create_allocation_with_owner_node [0.333364s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00243_owner_reader_can_list_volume_connectors [0.073375s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_ports_get_member [0.410649s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_reader_can_list_volume_connectors [0.114426s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d0f258e-b49b-403f-89ad-22a20d40fb13 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6d0f258e-b49b-403f-89ad-22a20d40fb13 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e820bb70-7a6b-42a9-894a-75725dea94ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e820bb70-7a6b-42a9-894a-75725dea94ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4373eb2a-e6bc-4fe4-8fed-3b56c6eac521 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4373eb2a-e6bc-4fe4-8fed-3b56c6eac521 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0798728-6d84-44f6-a347-2dfc67fe6ecd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e0798728-6d84-44f6-a347-2dfc67fe6ecd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2518ede8-956c-492d-bb56-9507a9ccfa4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2518ede8-956c-492d-bb56-9507a9ccfa4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-893929a3-30ff-4493-ad4b-4674f09be559 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-893929a3-30ff-4493-ad4b-4674f09be559 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 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-49b5d2cb-61bb-407e-9087-7c30ad734766 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-49b5d2cb-61bb-407e-9087-7c30ad734766 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_owner_member_cannot_add_port [0.262195s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.236888s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_post_volume_connector [0.309044s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c63f612-db52-4154-93c0-54481650ca25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a609e038-edbc-4f89-a2a1-ddfc96091d9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-31e96412-17c0-489d-a383-ddf19546b37a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8a61ec3c-6c9a-4e27-9142-fca8bee02f31 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f970a736-d030-4161-bbdd-f1edc8a6543a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-ebca2a9b-6460-4021-9504-fbfab2090cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d12d50ad-fc9c-4331-9a3e-7102d3f2f4f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-3164dc7d-02de-4131-937f-0c42b1b3b2bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-18118a23-4081-451c-b270-93d58bd892a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-c498b9e0-17a0-4d1f-947c-3bd8f74cbef7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ca36ab7e-a376-4876-951a-4e3ff0d715cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-98a7547c-41ea-4002-9b93-b25ddabb5125 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-70b78f90-f32d-4e18-8043-7f21e2b696e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-379dab72-7429-4de5-9734-11653c4e3878 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_ports_post_member [0.311523s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f694ed7c-36f7-4d2c-80d1-3113fdd0024f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-4becd38b-db27-45ff-98ca-1572b5bc81c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4becd38b-db27-45ff-98ca-1572b5bc81c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} 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-e1827cbc-bb4c-4df9-9220-a2986bc5732f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e1827cbc-bb4c-4df9-9220-a2986bc5732f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a53365f5-70cc-4b6a-9ca5-b42d1ad5ae75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a53365f5-70cc-4b6a-9ca5-b42d1ad5ae75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-044366e2-f721-46c2-9be7-8f546e06f3b2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-044366e2-f721-46c2-9be7-8f546e06f3b2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/45f622c5-e732-4aa1-8a80-c03fff70de09 Openstack-Request-Id: req-3646b796-c294-46da-b489-3f7559ed9cb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "45f622c5-e732-4aa1-8a80-c03fff70de09", "created_at": "2024-03-06T09:36:35.653999+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/45f622c5-e732-4aa1-8a80-c03fff70de09", "rel": "self"}, {"href": "http://localhost/volume/connectors/45f622c5-e732-4aa1-8a80-c03fff70de09", "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/45f622c5-e732-4aa1-8a80-c03fff70de09 Openstack-Request-Id: req-3646b796-c294-46da-b489-3f7559ed9cb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "45f622c5-e732-4aa1-8a80-c03fff70de09", "created_at": "2024-03-06T09:36:35.653999+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/45f622c5-e732-4aa1-8a80-c03fff70de09", "rel": "self"}, {"href": "http://localhost/volume/connectors/45f622c5-e732-4aa1-8a80-c03fff70de09", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_third_party_admin_cannot_get_volume_connector [0.233497s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_ports_post_observer [0.538268s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_admin_cannot_add_port [0.718334s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_detail_get_admin [0.132429s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_owner_admin_can_patch_volume_connectors [0.395556s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_modify_port [0.427285s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_port_id_get_admin [0.318593s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_admin_can_delete_port [0.215135s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_delete_member [0.240786s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_patch_volume_connectors [0.630709s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_nodes_ports_get_member [0.274824s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_lessee_member_cannot_delete_port [0.458820s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_nodes_ports_detail_get_member [0.401196s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_reader_can_read_node_allocation [2.109135s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_reader_can_get_node_port [0.629415s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_admin_can_delete_volume_connectors [0.853506s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_owner_reader_can_get_volume_connector [0.072198s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_nodes_ports_detail_get_observer [0.684015s] ... ok 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-e805d7bf-ac57-4143-982b-98a39609f5a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e805d7bf-ac57-4143-982b-98a39609f5a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9505ed93-7204-40a5-982d-ea73c776a115 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9505ed93-7204-40a5-982d-ea73c776a115 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-91c356ca-90ff-4478-b21a-9b3e49d50cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-91c356ca-90ff-4478-b21a-9b3e49d50cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aaa11bc7-9746-4281-b2a1-44fc9348c40d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aaa11bc7-9746-4281-b2a1-44fc9348c40d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c40eabc7-cb4d-4b95-904a-69cdc40157af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c40eabc7-cb4d-4b95-904a-69cdc40157af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1eeeba5-6674-4125-83cd-3afa420cfc09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f1eeeba5-6674-4125-83cd-3afa420cfc09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0ad041dc-e12b-4b5e-bb7d-5aa719e978c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:37.909155+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-0ad041dc-e12b-4b5e-bb7d-5aa719e978c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:37.909155+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 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-19ad3ffb-f454-4f80-b00e-0a070244955c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_delete_volume_connector [0.249731s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_get_target_list [0.253583s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_portgroups_ports_get_admin [0.342410s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bba7ec36-d8bc-4fad-867e-33e37189b182 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e16a320f-fb96-4291-82d8-c821f256735c", "created_at": "2024-03-06T09:36:34.436656+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/e16a320f-fb96-4291-82d8-c821f256735c", "rel": "self"}, {"href": "http://localhost/allocations/e16a320f-fb96-4291-82d8-c821f256735c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path patch /v1/allocations/68a6aa11-674a-49bb-ad1f-1f4e3de604c6 PATCH: /v1/allocations/68a6aa11-674a-49bb-ad1f-1f4e3de604c6 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e67b0d7f-2936-4b71-86be-7b11b6b5c0ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "created_at": "2024-03-06T09:36:34.788815+00:00", "updated_at": "2024-03-06T09:36:34.891245+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/68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "rel": "self"}, {"href": "http://localhost/allocations/68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e67b0d7f-2936-4b71-86be-7b11b6b5c0ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "created_at": "2024-03-06T09:36:34.788815+00:00", "updated_at": "2024-03-06T09:36:34.891245+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/68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "rel": "self"}, {"href": "http://localhost/allocations/68a6aa11-674a-49bb-ad1f-1f4e3de604c6", "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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a474a1d8-c816-492d-a697-b417cc241981 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a474a1d8-c816-492d-a697-b417cc241981 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5e6599d2-2a48-4942-a58d-7e4113abeb31 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5e6599d2-2a48-4942-a58d-7e4113abeb31 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 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-116ee53a-859d-46a4-9465-87aadf3af845 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bfe6222e-ace0-4535-b56a-f729e78430b8", "created_at": "2024-03-06T09:36:37.165302+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/bfe6222e-ace0-4535-b56a-f729e78430b8", "rel": "self"}, {"href": "http://localhost/allocations/bfe6222e-ace0-4535-b56a-f729e78430b8", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-116ee53a-859d-46a4-9465-87aadf3af845 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bfe6222e-ace0-4535-b56a-f729e78430b8", "created_at": "2024-03-06T09:36:37.165302+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/bfe6222e-ace0-4535-b56a-f729e78430b8", "rel": "self"}, {"href": "http://localhost/allocations/bfe6222e-ace0-4535-b56a-f729e78430b8", "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-fb368d32-ac1f-4aaf-b121-ee96a5d9d336 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "f2dabc9c-43e6-4b16-bce7-96a67278792c", "created_at": "2024-03-06T09:36:38.244228+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f2dabc9c-43e6-4b16-bce7-96a67278792c", "rel": "self"}, {"href": "http://localhost/allocations/f2dabc9c-43e6-4b16-bce7-96a67278792c", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_reader_can_read_node_allocation [0.797957s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_third_party_admin_cannot_read_node_allocation [0.209661s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_third_party_admin_cannot_delete_allocation [0.056231s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_owner_admin_create_volume_target [0.249808s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.071337s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_volume_get_member [0.282100s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.047923s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.055832s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.060029s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_volume_get_observer [0.194312s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.066626s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.058397s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_lessee_admin_create_volume_target [0.399217s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.053267s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.189640s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_volume_connector_id_get_observer [0.458052s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_third_party_admin_cannot_patch_volume_target [0.391381s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.306579s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_console_put_observer [0.326414s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_target [2.093718s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_third_party_admin_cannot_get_node_volume_connectors [0.561950s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_volume_connector_id_patch_admin [0.827676s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_reader_cannot_get_drivers_vendor_passthru [0.373582s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb368d32-ac1f-4aaf-b121-ee96a5d9d336 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "f2dabc9c-43e6-4b16-bce7-96a67278792c", "created_at": "2024-03-06T09:36:38.244228+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f2dabc9c-43e6-4b16-bce7-96a67278792c", "rel": "self"}, {"href": "http://localhost/allocations/f2dabc9c-43e6-4b16-bce7-96a67278792c", "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-12c474c4-902f-415e-84fd-5b976335444c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-12c474c4-902f-415e-84fd-5b976335444c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b8a361d8-e116-4d06-97a7-559de93669a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b8a361d8-e116-4d06-97a7-559de93669a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5c3f7797-e7eb-4d33-892b-1547e5d30bd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9bf411e2-904a-45de-b5fe-325448f14a25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6d36d12b-c79c-40c0-9389-0bed68938520 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-68c57986-14d6-4555-9055-f4a4580bdd07 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6ec0c84b-30a4-4d45-9046-230130cbe2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-23350d00-842a-4249-a966-7364169250ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-93aa009e-357e-45a5-b09a-db8b6bf2b84b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-5fb0dca4-2ab8-4cc2-875f-688d203affe0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-d3623e88-4079-4059-9a37-2218f305bcd2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f314895-25ea-4563-92d4-cd1458726bde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_vendor_passthru_methods_get_observer [0.542206s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_lessee_member_cannot_patch_volume_target [0.599013s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_targets_get_admin [0.396321s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_vendor_passthru_get_member [0.336908s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_owner_admin_can_delete_volume_target [0.268144s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-19ad3ffb-f454-4f80-b00e-0a070244955c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f7cc8be8-35de-4817-8628-c0db7f702c6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7cc8be8-35de-4817-8628-c0db7f702c6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": []} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/2270f5f6-327a-4c8f-aaa0-09e94f7c105a Openstack-Request-Id: req-4fed8656-5f1a-48c0-bb21-d9d34ae295af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "created_at": "2024-03-06T09:36:38.687341+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "rel": "self"}, {"href": "http://localhost/volume/targets/2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "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/2270f5f6-327a-4c8f-aaa0-09e94f7c105a Openstack-Request-Id: req-4fed8656-5f1a-48c0-bb21-d9d34ae295af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "created_at": "2024-03-06T09:36:38.687341+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "rel": "self"}, {"href": "http://localhost/volume/targets/2270f5f6-327a-4c8f-aaa0-09e94f7c105a", "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/bcea6065-bd56-44ab-ba03-513e8cff8a08 Openstack-Request-Id: req-18048086-09cb-4078-9e7d-a3240b5db86c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bcea6065-bd56-44ab-ba03-513e8cff8a08", "created_at": "2024-03-06T09:36:38.932921+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bcea6065-bd56-44ab-ba03-513e8cff8a08", "rel": "self"}, {"href": "http://localhost/volume/targets/bcea6065-bd56-44ab-ba03-513e8cff8a08", "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/bcea6065-bd56-44ab-ba03-513e8cff8a08 Openstack-Request-Id: req-18048086-09cb-4078-9e7d-a3240b5db86c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bcea6065-bd56-44ab-ba03-513e8cff8a08", "created_at": "2024-03-06T09:36:38.932921+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bcea6065-bd56-44ab-ba03-513e8cff8a08", "rel": "self"}, {"href": "http://localhost/volume/targets/bcea6065-bd56-44ab-ba03-513e8cff8a08", "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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37298069-08ea-4817-9cc7-038f7af218ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-37298069-08ea-4817-9cc7-038f7af218ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67f1a4e9-3568-417a-9212-77cf95983464 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67f1a4e9-3568-417a-9212-77cf95983464 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-11a00f40-51e6-4b73-b10e-65fcd5737beb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-11a00f40-51e6-4b73-b10e-65fcd5737beb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/dc256e89-b4c4-4b0b-a664-47f4ecee3099 PATCH: /v1/allocations/dc256e89-b4c4-4b0b-a664-47f4ecee3099 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_member_can_patch_allocation [0.404452s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00072_nodes_vendor_passthru_put_observer [0.197428s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_targets_get_member [0.375461s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_can_get_allocations [0.359692s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b36a8182-8a4e-479d-8705-ec842af3d847 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b36a8182-8a4e-479d-8705-ec842af3d847 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ad2676a0-4a3b-45d4-ab11-fd953117e1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ad2676a0-4a3b-45d4-ab11-fd953117e1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d0ac49a0-cfe2-4af4-89fb-18c814b87e04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d0ac49a0-cfe2-4af4-89fb-18c814b87e04 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c707c989-7e7f-4627-acdf-1cfd8c62a6fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c707c989-7e7f-4627-acdf-1cfd8c62a6fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2689dff9-b04c-43cf-9a8e-3a3503afeb6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:39.627258+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2689dff9-b04c-43cf-9a8e-3a3503afeb6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:36:39.627258+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 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-0569e411-f18e-49de-ac7b-57046723c01c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0569e411-f18e-49de-ac7b-57046723c01c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1959142d-3cf1-40cc-9070-28a17b8c9bdd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1959142d-3cf1-40cc-9070-28a17b8c9bdd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_lessee_member_cannot_delete_volume_target [0.215613s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-975975c9-b9e5-44e3-85b7-d0ea0d8b8e59 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-77055e64-3fd1-4c8e-ad64-2f53c8f8c4dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8e9c4927-ec7a-4b2c-95ab-ec2b4b71d5af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0a36c0d6-75b2-4bd2-b020-108caac59518 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dc24fdb6-ada8-4217-a161-9ae852222fe5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4c8ab22d-5b74-492e-a7ce-e46ddd93ab29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-0b216592-76b9-4e76-8d41-65e81d8694f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-ad60fc96-6c81-4f8b-82a0-a38b06364ecd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d5f92d63-d902-46e3-ba3f-d5b87ae596e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-656a7591-96a7-4a12-9e2e-81959a0ce82e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-789a1ac3-68a2-40af-9afb-c57295dfd9ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1392e26b-7328-480a-8dec-fc488db810e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c11d73e4-a7fc-4d86-8694-6b2ce5eba8c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-27f17b53-962c-42e0-bc76-8ae1b85e3f00 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6ab4f03c-cbfc-4471-af8a-61d03740905b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_targets_post_member [0.195065s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_owner_reader_can_get_volume_connectors [0.552285s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_delete_member [0.613526s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_nodes_volume_get_admin [0.346192s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_third_party_admin_cannot_delete_an_allocation [0.513574s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_traits_put_admin [0.306773s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_drivers_get_observer [0.441807s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_owner_admin_can_delete_allocation [0.540275s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_owner_reader_can_get_node_volume_targets [0.842110s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_delete_admin [0.506887s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_put_admin [0.484218s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_owner_reader_cannot_get_deploy_templates [0.359364s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_third_part_admin_cannot_read_node_volume_targets [0.656763s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_trait_put_admin [0.678575s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_lessee_reader_cannot_get_deploy_templates [0.568710s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_put_member [0.700204s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00286_third_party_admin_cannot_get_drivers [0.393820s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_vifs_post_admin [0.527419s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.553225s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_put_observer [0.515396s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_reader_cannot_get_drivers_vendor_passthru [0.516367s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_node_vif_ident_delete_member [0.485834s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_nodes_bios_bios_setting_get_member [0.447897s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.634958s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_owner_reader_can_get_bios_setttings [0.429096s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_node_vif_ident_delete_observer [0.390378s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_conductors_get_observer [0.310190s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.335316s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_conductors_hostname_get_observer [0.272010s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_management_indicators_get_admin [0.344592s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-99a1d75d-fe9c-4c75-bd56-aa6700b1c54b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-99a1d75d-fe9c-4c75-bd56-aa6700b1c54b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6e5b3260-0aa2-48c7-b08f-120c1cc82eb7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6e5b3260-0aa2-48c7-b08f-120c1cc82eb7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-3731b6c9-de6f-4ac6-98a9-ab7f23c5393d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3731b6c9-de6f-4ac6-98a9-ab7f23c5393d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-944300c7-431b-4c74-851b-0dfa56cede92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-944300c7-431b-4c74-851b-0dfa56cede92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5e97d530-85ef-48eb-999a-94c84d152484 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-5e97d530-85ef-48eb-999a-94c84d152484 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2f04802c-8c5d-46a6-b114-9a7279b85df0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-2f04802c-8c5d-46a6-b114-9a7279b85df0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-1255d287-fbfa-4f46-9e02-ce9b99012270 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1255d287-fbfa-4f46-9e02-ce9b99012270 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e232a163-bbf6-4495-b6e6-b98ec3e046ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_third_party_admin_cannot_get_conductors [0.307533s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff348138-c610-4ca0-bd88-fab8715b4dde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "dc256e89-b4c4-4b0b-a664-47f4ecee3099", "created_at": "2024-03-06T09:36:40.665918+00:00", "updated_at": "2024-03-06T09:36:40.794570+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/dc256e89-b4c4-4b0b-a664-47f4ecee3099", "rel": "self"}, {"href": "http://localhost/allocations/dc256e89-b4c4-4b0b-a664-47f4ecee3099", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff348138-c610-4ca0-bd88-fab8715b4dde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "dc256e89-b4c4-4b0b-a664-47f4ecee3099", "created_at": "2024-03-06T09:36:40.665918+00:00", "updated_at": "2024-03-06T09:36:40.794570+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/dc256e89-b4c4-4b0b-a664-47f4ecee3099", "rel": "self"}, {"href": "http://localhost/allocations/dc256e89-b4c4-4b0b-a664-47f4ecee3099", "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-0b6d5d61-8df8-4dbb-b026-58f9e7dec531 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b6d5d61-8df8-4dbb-b026-58f9e7dec531 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": []} API ACL Testing Path delete /v1/allocations/18e46623-295c-4054-8206-25ea91a4cbf0 DELETE: /v1/allocations/18e46623-295c-4054-8206-25ea91a4cbf0 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f10f0aaa-db9c-4fa3-8e04-dbb5bae62025 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 18e46623-295c-4054-8206-25ea91a4cbf0 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f10f0aaa-db9c-4fa3-8e04-dbb5bae62025 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 18e46623-295c-4054-8206-25ea91a4cbf0 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 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7a0b5b6c-9f3d-4bef-a64b-f929291f476a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7a0b5b6c-9f3d-4bef-a64b-f929291f476a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db29535d-9582-440e-a980-23846a8a539b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-db29535d-9582-440e-a980-23846a8a539b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-a12b5b56-5d28-4c1a-bf26-7c51952928d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-a12b5b56-5d28-4c1a-bf26-7c51952928d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-505ef73a-c1d9-4f18-947b-14447ab88d92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-20d70e5a-fd24-4564-b954-f2eabaa76847 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23aef796-85c3-44d2-821b-cf9ecd08df25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.436290s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_owner_reader_can_get_allocations [0.411029s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_allocations_get_admin [0.420523s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_management_indicators_get_member [0.429339s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.442882s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_portgroups_get_member [0.297855s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00247_allocations_allocation_id_get_member [0.460888s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_can_get_their_allocation [0.543205s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_portgroups_get_observer [0.230832s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.428452s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_lessee_member_can_delete_their_allocation [0.304793s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_allocation_id_patch_observer [0.427303s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-14372748-5033-41ef-9308-f0ca305992cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-5be96892-5597-45e7-81b3-27fa2a9aefc5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5c847d65-1ae7-47cc-8e48-5218d516e86c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a8862f92-cbca-45f0-b0b3-3c997dd4dd2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-73d3319e-4885-49ef-b7a0-fb82482b0990 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ae792880-1c8b-4d5c-a5e9-183f4dd13ac0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ce5299da-d8e9-46fb-b982-d3d594724988 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45e40b49-b4bf-483d-8ed7-fa3be54fa204 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-77ce52a9-f434-43ce-b389-5d0f7b430d8b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d78a0a74-dcf7-48ea-a077-485520ec1fee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-56be0cda-72e3-4440-9844-41c6b882547f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-6eb1c3c8-a6af-49db-90c9-9e502b9839d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e55158ca-07bb-4b45-b59a-25a08bbf03d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-79f4c5ee-32b9-4ae0-9753-26d80a48be93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00110_portgroups_post_member [0.304080s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_third_party_admin_can_create_allocation [0.162953s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.341817s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_nodes_portgroups_get_admin [0.336394s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_nodes_allocation_delete_admin [0.385391s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_reader_cannot_access_chassis [0.330515s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.254966s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00325_lessee_reader_cannot_access_chassis [0.255441s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_nodes_portgroups_get_observer [0.327033s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_deploy_templates_post_admin [0.300313s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.529687s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_nodes_portgroups_detail_get_admin [0.414950s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-011879b5-985e-4141-8cb4-cbfa5a66da89 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"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-7af81f8a-dee6-4797-87c3-0f5087e43bc6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1675704a-02d3-4b69-839e-79404b08ad7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-07bcf564-9352-4ace-9b7f-0cbb20bcaf7a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-61b5b2ec-2bb9-4f5f-a856-c6d779fc0d70 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-f020f498-47ce-4e4c-9b16-2603d61f538a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0a4ada01-db3b-4ba8-8649-b0d8baf3369d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dce6838d-35a3-4a07-90d4-e130a0c3dd29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-7d0ded5f-4404-4cda-bb35-3543084fe70e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-81b8c715-9ac6-424a-9a54-bf74f4f8c042 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/f9158436-8ad2-42f6-ba33-57f98580c40a GET: /v1/allocations/f9158436-8ad2-42f6-ba33-57f98580c40a {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d1e74eb0-2409-4e43-9967-b88e1e918498 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f9158436-8ad2-42f6-ba33-57f98580c40a could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/3cb7e577-19b4-44e6-813c-6ed618b15077 PATCH: /v1/allocations/3cb7e577-19b4-44e6-813c-6ed618b15077 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35592a6c-d1f3-456a-b754-080349939ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3cb7e577-19b4-44e6-813c-6ed618b15077 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-057a7b38-6741-402f-99f0-15623ec1b08c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-487f9737-b1ec-42db-afcf-1016fb549460 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/ef7d69be-6bb5-4ab2-b3ee-4a0b58090b40 DELETE: /v1/deploy_templates/ef7d69be-6bb5-4ab2-b3ee-4a0b58090b40 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_delete_observer [0.334159s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e232a163-bbf6-4495-b6e6-b98ec3e046ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b832f09d-b420-4c7f-9d40-939a2d3de998 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "created_at": "2024-03-06T09:36:45.062426+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "rel": "self"}, {"href": "http://localhost/allocations/4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b832f09d-b420-4c7f-9d40-939a2d3de998 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "created_at": "2024-03-06T09:36:45.062426+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "rel": "self"}, {"href": "http://localhost/allocations/4daa5d63-c7a6-451c-8923-e3c14ff41f3b", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/allocations/d8dfb69f-9568-4431-b54d-e7244600c023 GET: /v1/allocations/d8dfb69f-9568-4431-b54d-e7244600c023 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6625489-8ab2-4152-a082-df2ebed614fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "d8dfb69f-9568-4431-b54d-e7244600c023", "created_at": "2024-03-06T09:36:45.571216+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d8dfb69f-9568-4431-b54d-e7244600c023", "rel": "self"}, {"href": "http://localhost/allocations/d8dfb69f-9568-4431-b54d-e7244600c023", "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-f6625489-8ab2-4152-a082-df2ebed614fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "d8dfb69f-9568-4431-b54d-e7244600c023", "created_at": "2024-03-06T09:36:45.571216+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d8dfb69f-9568-4431-b54d-e7244600c023", "rel": "self"}, {"href": "http://localhost/allocations/d8dfb69f-9568-4431-b54d-e7244600c023", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path delete /v1/allocations/7687d47a-a37d-4dfc-81f9-99696408688a DELETE: /v1/allocations/7687d47a-a37d-4dfc-81f9-99696408688a GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5c6c8771-6620-4c85-ae6a-382cc57eedc3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5c6c8771-6620-4c85-ae6a-382cc57eedc3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9a2dfbc2-3579-452b-8f1b-58310aa17bc6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9a2dfbc2-3579-452b-8f1b-58310aa17bc6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b1fdaf02-4e81-4328-b30c-5285b5068595 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-b1fdaf02-4e81-4328-b30c-5285b5068595 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e1350987-583d-40d5-97e0-3a5d2d12dab1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e1350987-583d-40d5-97e0-3a5d2d12dab1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.382551s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.241980s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.264795s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_chassis_post_member [0.319387s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_ports_get_admin [0.271877s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.248793s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.278782s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_chassis_get_observer [0.425524s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.317418s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_ports_get_observer [0.449851s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.393271s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.210529s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_ports_post_admin [0.254165s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_raid_put_admin [0.195806s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_detail_get_observer [0.535361s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_port_id_get_observer [0.299871s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_console_get_member [0.292908s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.629320s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_delete_observer [0.527977s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_vendor_passthru_methods_get_member [0.371068s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_chassis_id_get_admin [0.603227s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.303096s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_post_observer [0.369519s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.414900s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_chassis_id_patch_admin [0.457834s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_nodes_ports_detail_get_admin [0.522052s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_chassis_id_patch_observer [0.184349s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.251449s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_connectors_post_member [0.241794s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d965cec7-013f-4d5e-b98b-7fd21c6a93fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-50bc6066-a3f2-4d96-a4e3-184b52029b76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-273e7d22-1f14-478c-bc02-1d336091e65c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-2f1ab115-7db7-4292-bfcf-4fd35e63ac87 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-92e1e11d-7dc1-49ff-bb55-e29a2a5578a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-388478f0-3671-4461-83cc-b092c489d373 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-7a81354a-22a5-4c4f-8a73-035983d76b1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-708f553f-e281-4909-a133-0151bd93d006 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4f317ea7-78be-4455-b51d-5c7deab7791e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b6ac93e2-da36-4c40-a8fb-e7a4f3288153 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-19dea881-4fb4-412f-b18a-9aa8da97e519 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f4757ac3-03a8-42d8-b558-57144d9d9c80 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-9ac69024-b47e-49c7-804c-eea2038bb987 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-761b0003-02d7-4704-a624-d681cf50d491 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_put_admin [0.439881s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.294178s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_volume_connector_id_get_admin [0.296432s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.164712s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_put_member [0.434514s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.176164s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_volume_connector_id_patch_observer [0.379788s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00001_values ... SKIPPED: These are fake reference values for YAML templating {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.223476s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_delete_member [0.224507s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.327284s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_delete_admin [0.630426s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_delete_observer [0.265129s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.448933s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_delete_observer [0.252877s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_traits_get_member [0.089591s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_provision_put_admin [0.372198s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00007_nodes_get_node_observer [0.390643s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_traits_get_observer [0.129589s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-234b1702-cfc7-4d80-87a6-84e8743fe1af X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-21d80818-df4a-4eb6-9731-4bb7e1247955 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-a234d0f6-7902-48ea-8c77-535a703c5b37 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-211fb56f-5011-4421-a310-5703790be65b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dbaf8367-ca84-4cad-8e47-2701aa6077f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5ce4ab1d-40bd-4827-ab42-7f694c7af23f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c4e7b167-ade4-49bf-868a-29c79bd3426d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-04e415ee-c099-4b2c-9d80-9e0bdaf80093 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4eb6e4dc-c9ea-42ec-a9d5-595657925eb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-008c6ad1-1e9e-472f-8ab3-38bf6dc8f1aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-600ad147-a651-4fe0-a320-1580f50f72b8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ce7efb4f-6853-4390-90a4-2799d259445e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c386addc-2f2d-43db-8a7f-583955f46153 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-de9eef92-bda4-4aa1-9075-6de274835159 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-932fcc5e-6ba2-4beb-ae98-2807a4e81f33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_targets_post_observer [0.432975s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_traits_put_member [0.333962s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9f8b9b73-4975-40bc-838f-ea96e61cb556 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-508f2de1-d414-4f57-82c7-cf88e1264eca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-9b55d946-8fb6-4213-9bba-e3b8f3984021 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f0d2ac0d-9437-4fc7-81ad-98e29b64654d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-cb6356c7-62f7-429e-a7f7-0e751af9b2bb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a8d85223-78a9-4d6e-9e80-569bb80b20a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-1ebd3487-a42c-4b5e-8667-2839b28e0dd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7218c1a0-812b-45f5-9116-361fe2825ab9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f7843af5-1170-49c4-aa68-2ebfc1ba2e93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-90970f73-57d0-442b-ac51-68ffe17ae6c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ddc36cf5-f128-4afc-8966-53340edbbc31 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8e06d67c-4d19-4e4b-9b7a-03d60cc583f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-b7d9f861-c4ef-4248-ad54-b16365b04358 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-22a441bf-f69e-4a26-93f9-10029faffe95 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_traits_put_observer [0.087140s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_provision_put_member [0.566221s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_volume_target_id_patch_member [0.535452s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.528970s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_raid_put_member [0.167692s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_console_get_admin [0.122313s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_trait_put_member [0.407560s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_console_put_admin [0.082075s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_delete_admin [0.418053s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00059_nodes_states_console_put_member [0.112649s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00034_nodes_management_boot_device_put_observer [0.442126s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_vendor_passthru_methods_get_admin [0.220145s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.266458s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_delete_member [0.294473s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_trait_delete_admin [0.389570s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.263766s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_delete_observer [0.288622s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00064_nodes_vendor_passthru_get_admin [0.371299s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_trait_delete_member [0.294769s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_trait_delete_observer [0.079550s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_vifs_get_member [0.055347s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_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_00106_portgroups_get_admin [0.050771s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_nodes_volume_get_member [0.320532s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_detail_get_observer [0.091681s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_vendor_passthru_get_observer [0.435288s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.572073s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-be553102-66bc-4e3d-8e95-3d6d4d53f805 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4459223c-6275-474a-9c51-a9becc5c3d55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5cc01b88-573a-4b8e-b9e6-37c197ba415d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-47a1c6dc-c594-4211-88fa-85e4771bf6cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-4cd8fc82-2bf9-46b2-b80d-dc1e7c4ff138 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-80bc1df2-7864-4f65-ae8d-d9ff78a12833 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-18014cca-1a31-48d8-b552-0b94c236524a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2f038c0e-1de3-4a11-a603-4f9841c43a1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0ca26aff-e7a0-49a8-acb4-3152a9b4e36b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f3850361-42f0-4455-ade8-6bb6284b6187 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9c310634-81ed-43d7-99b2-39d6b8a419ff X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-56eedfd4-532a-491c-8277-ce6d8dbabbe9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-c13db05c-3e1c-4558-8fc7-813bcd6401c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-44545a37-ad40-4424-b456-6fda1159c297 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7d14173b-6850-4738-b6cc-a0c63be86fc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_portgroup_ident_get_observer [0.259656s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_drivers_get_member [0.408998s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_post_admin [0.361389s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_delete_member [0.127464s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ebbdd257-5291-4d80-9491-3b9b233056d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-eff1115d-6466-4002-b424-e4a578de6d91 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-f7c562c5-7559-4b9c-aebd-ef641bc5213f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-0dfe41c3-9195-4336-ae0a-aca0702c5495 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-ba897a7f-a193-452a-b748-ada14bc6eb94 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-a2d90aa5-47da-497c-aac5-4c68023f8df0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-44e98274-e897-4735-ba78-65c24ef4f822 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-96c8f4a6-5036-44fa-8836-ada3f429d0d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-afd55e69-12b2-4aec-8fae-22fa7b918b9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-44359991-979f-4a03-837a-bd42d47ba6ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f09a2445-18e6-43d9-863a-24673df08904 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-a9d3833f-d6eb-46dd-9588-e53229895a82 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a4dc7b95-7328-4de7-aa37-eec6fb99c585 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c6fc14de-f300-4d22-a7a7-baf2dc9b590e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.467488s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_portgroup_ident_patch_member [0.477054s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_drivers_driver_name_get_member [0.411540s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_post_admin [0.272176s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_delete_observer [0.382470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_properties_get_admin [0.444501s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00123_portgroups_portgroup_ident_delete_observer [0.508189s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_put_admin [0.468597s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00093_nodes_vifs_get_observer [0.472705s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_put_observer [0.098719s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_traits_get_admin [0.066080s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_traits_put_member [0.062985s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_delete_member [0.070730s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_nodes_portgroups_get_member [0.492592s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_delete_observer [0.058389s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00212_drivers_raid_logical_disk_properties_get_member [0.586394s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_trait_put_member [0.054422s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_vifs_get_admin [0.066523s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_vifs_post_observer [0.468017s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_node_vif_ident_delete_admin [0.051308s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_portgroups_get_observer [0.215022s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00109_portgroups_post_admin [0.064548s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_nodes_portgroups_detail_get_observer [0.586999s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_vendor_passthru_get_admin [0.566858s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00111_portgroups_post_observer [0.075403s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b9e879f9-6add-4927-9a87-73df7781da1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4e4edb43-10b0-4136-9444-091f70f7314a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3cff80bf-3044-4cf8-99f1-fce76ae9aa08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7e0cb01d-86d8-43f4-a692-e0dd1856be72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-4db4d502-a502-44df-8cbb-d858dd13c00a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-96cd99c7-8887-42d3-866a-4422810b7f8d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-25c7a911-366d-458b-9cd4-2a2486d2acc1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9a101e2f-803b-41f2-86a8-f5bae4a89794 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4a93dd23-389d-4a5a-b61f-51e58211dd59 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-1bbc7f79-c278-435f-9abc-2ca0dafd39b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5ce8a280-5067-462d-835f-159f241d8152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-64e01377-8a50-4aaa-90ab-6166f298312c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-679f10aa-1019-4b5d-aa8a-4f03057b2064 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7b4a5e3f-ca24-4ad9-8527-cefe62e1b89b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}}] {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_portgroup_ident_patch_member [0.061206s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00097_nodes_vifs_node_vif_ident_delete_admin [0.838366s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_detail_get_observer [0.446649s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_vendor_passthru_get_member [0.539745s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_port_id_get_member [0.395654s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_delete_admin [0.750068s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_port_id_patch_observer [0.306426s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_vendor_passthru_get_observer [0.756265s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_nodes_ports_get_admin [0.216730s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_nodes_ports_get_observer [0.054642s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_nodes_portgroups_detail_get_observer [0.571947s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_portgroups_ports_get_member [0.054491s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_portgroups_ports_detail_get_admin [0.061271s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_portgroups_ports_detail_get_observer [0.080589s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_volume_get_admin [0.049747s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_volume_connectors_get_member [0.053104s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-16595d95-146c-4760-b407-c22d544d35b0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7b2e5e26-377b-4ef6-b6b5-0bfe4bbcee6d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-cfd1acaa-a043-462d-93e0-0ea1da7bad41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4f240db6-e9b9-49df-b2c5-09d323fa6bfe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d94a4e6e-8fd4-4910-a8c7-04b91518c54e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-2cd9b6d9-af09-4277-83a9-e8572babda58 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-2463f9e8-7ad6-49d2-b389-0688bf06a84a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-9fd4b69d-6abb-4007-b4b6-b08c064ab713 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4c038e88-074e-4ef0-8ba5-73d89404855d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-af3227fa-759c-4198-9392-818eda59df82 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ee81146e-f5f5-4419-9c3f-137fbe73b547 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-ec143ca1-6bc0-4786-bacc-5a89a5641db6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f2b8dad8-3059-4fa7-9a55-50e0ed73d884 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-027757cc-2c49-43f0-84af-97a518bbb06d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00109_portgroups_post_admin [0.592489s] ... ok 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-bf9bff4e-566f-4f85-9e5a-a2b2bc8728aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-52da9c27-022d-4744-b0ea-de227048b5c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-60fc92cb-49cd-437a-9f66-a8ac4d7faf4c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-47747728-5df0-4e64-af0f-6b8ccadac6d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-77c3ecff-2628-4cf3-b0d4-ef55f6726e7d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4a087068-8e5a-4cef-9e00-57131e244f84 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8de5f61-12b7-4e59-b759-5d9f02d058ee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1e78dfe1-4bc5-4412-a293-79431f901df1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e5dc012d-fe10-4587-8dcf-e649ba57eb4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-a66ac6ed-3d55-49d4-bff0-254aac7b5577 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0b63dbb2-8b04-44a5-835a-69ba91962038 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-74ee8850-1308-40f6-8978-a210912d523c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0885e624-c059-4c26-a4dd-c693f2186086 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-308de3c3-7161-4871-99b5-be30db0e4277 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ed79dbf1-2d82-4236-8968-f6351f472ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_connectors_post_admin [0.053542s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00170_volume_volume_connector_id_get_member [0.052343s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_delete_admin [0.092627s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_volume_target_id_get_admin [0.089751s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00111_portgroups_post_observer [0.353548s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_ports_post_admin [0.743769s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_volume_target_id_get_member [0.201458s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_detail_get_member [0.182144s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_volume_target_id_get_observer [0.450703s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_ports_post_member [0.607804s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_portgroup_ident_get_member [0.573098s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_volume_target_id_patch_admin [0.225938s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_detail_get_member [0.224526s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_post_admin [1.815631s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_port_id_patch_member [0.328187s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_portgroup_ident_patch_admin [0.512597s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_volume_target_id_patch_observer [0.501182s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_nodes_volume_get_observer [0.367865s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_delete_observer [0.406135s] ... ok 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-2961317d-a3fd-4cb8-b3be-21cbe41af407 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-961630cf-f1c0-4321-8030-177eb0dfb983 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b8e6056c-1340-46ef-92fd-24a7e744a20a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0d1f1071-78c9-4ec8-a69f-c774d747a982 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0ddf21bd-0277-4640-a1d6-e9ebe4b5d917 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fd30ba65-1971-4fd4-8e98-e26f7b417974 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5ca7fb0f-c1c8-489e-b76b-7edca491336f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-e298541a-44d3-4ac0-8960-22d2c322cdfc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-31b85501-dfc0-4596-9ca7-e5574a494e6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-75136cfd-a5c8-4273-b2b9-e5746fe4502c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-a009df77-7e83-4999-907a-0d147a3950eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-161a816a-53ed-41b1-a753-b0ff7012de08 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-f3914a18-a2e6-450a-8c41-c68443e5044e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-cbbc407c-1c91-4025-9fc1-844c4075d1dd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_nodes_bios_get_admin [0.463451s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_portgroup_ident_patch_observer [0.688120s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_portgroups_ports_get_member [0.465332s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_nodes_volume_connectors_get_member [0.560208s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_nodes_bios_bios_setting_get_admin [0.699331s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_delete_admin [0.532739s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_volume_get_member [0.457082s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00198_nodes_volume_connectors_get_observer [0.514916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_conductors_get_member [0.547841s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_delete_member [0.519714s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_volume_connectors_get_member [0.492481s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_targets_get_member [0.557726s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_volume_connectors_get_observer [0.302362s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_detail_get_member [0.552382s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_drivers_driver_name_get_admin [0.387434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_allocations_post_observer [0.366571s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_port_id_patch_admin [0.376283s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_connectors_post_member [0.565010s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_allocations_get_member [0.388764s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_drivers_driver_name_get_observer [0.460183s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_volume_connector_id_get_admin [0.436042s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_port_id_patch_member [0.569709s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_allocation_id_get_admin [0.435472s] ... 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-a4b5f317-bd5b-4e3e-be9b-fc1d5160cf10 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-08532b64-7f59-43fa-aa10-630b9fff14fc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-00881623-de0f-4568-be83-9269e1fb83c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4962d161-54e9-4929-9d2b-7ec350af77ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-922a74c4-cc84-4171-a5c4-a7315628dae7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5e61789b-ba24-4a8c-9858-cef3bfebe334 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d5265990-86e2-4027-997e-d3c41d53576c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c5396e73-3824-457b-8014-91e4a196dea4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a415c018-2c3d-437a-8a40-4d113ff376c8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6fff78b6-109c-4541-a2f9-e9af82041743 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-590974d4-5387-4a6d-84f6-c76346a52582 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f505c403-6e00-4968-baa2-9ae1c29ff9a7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b54f448b-c34f-4a2f-a535-963a986940ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-4f7c5fd3-66f3-4584-aac9-ac4935e21822 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_vendor_passthru_methods_get_admin [0.491217s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_vendor_passthru_methods_get_member [0.244586s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_volume_connector_id_patch_admin [0.593496s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_allocation_id_patch_member [0.498800s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_post_member [0.328131s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0ad80370-a235-4deb-acb0-fd0f188195a9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a616bc53-bd45-4f51-8e00-5a6e88caa5f9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-93b86fe3-dc71-4244-a2bd-1aa5ced3b13b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7b224820-4201-4ab1-8a75-9972b73db3cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bdd8c41f-4a0b-47ff-8b90-359927c260b0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ba798d91-2a48-409c-b4c5-363a0c85279d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71c17124-9a72-4030-bc6d-e871493cb86e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2685bb82-14d1-4703-af5d-6c281bbe5887 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-31db80ec-a53e-4729-b7c5-6fd2eaebe112 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dac00ad6-2e02-4d92-bc45-17421675b890 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-16b5297e-0a56-4acc-a013-b1b2cea0f6ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8373888-8a86-4b4a-94b2-125686f281a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b99af66d-1d2b-4da7-9add-5bb4aefdab7d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-77849a0f-d278-4489-8496-685dd1c4f2b8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5ee4c217-77db-48b4-b83b-9aebfd9c6121 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_volume_connector_id_patch_observer [0.212556s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_delete_member [0.367877s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_delete_observer [0.228332s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_post_observer [0.317368s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_targets_get_member [0.204272s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_targets_get_observer [0.113230s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_nodes_allocation_get_member [0.413011s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_delete_admin [1.398064s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_deploy_templates_post_member [0.252760s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_drivers_driver_name_get_admin [0.355503s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_conductors_get_admin [0.373981s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_portgroups_ports_get_observer [0.406943s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_drivers_driver_name_get_observer [0.381151s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_deploy_template_id_get_member [0.559735s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_portgroups_ports_detail_get_member [0.412692s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_conductors_hostname_get_admin [0.472714s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_raid_logical_disk_properties_get_member [0.587503s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_deploy_template_id_patch_admin [0.450929s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_conductors_hostname_get_member [0.440770s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_volume_connectors_get_admin [0.515377s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_vendor_passthru_methods_get_admin [0.345708s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_allocations_post_admin [0.351600s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_deploy_template_id_patch_observer [0.435628s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_vendor_passthru_methods_get_member [0.292394s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d3d9d20a-2f3c-4d2d-aac4-7751e7a91346 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3ce9b4f8-011b-4e1b-8462-ff27d89c15e0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3277dc66-f1f1-4b8b-b66d-10354135b008 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-df2d673a-95c8-454b-b929-1f15c07be571 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-57166c4c-616e-46d7-a771-1a8c21ebc144 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-aa0b88bf-a49a-4298-be12-ac2c29491ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88c5eac1-4375-4be5-b5df-e3d5c08f80c2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-22a2bcf6-df33-448d-bff1-f5c4ac38f432 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9673569a-4f70-49d5-9ebc-49bb9763a55b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9e2c0cf-32d0-4e2d-b7b3-d9d4a2cfe1a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db560bb1-ab55-4880-bc51-0251afa1d23d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7894e89f-9615-4216-a172-62ca2dbcb678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-15e7f268-ab21-41de-87d2-035e1bd6fc2f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ac6038e3-30cf-432e-8060-3ed639a56bb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44b52a23-a3e6-400f-b67f-48d86bdd5e1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_volume_connectors_get_observer [0.415160s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_delete_member [0.358328s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_vendor_passthru_get_member [0.247082s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_nodes_allocation_get_admin [0.455395s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_vendor_passthru_get_observer [0.212179s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_nodes_allocation_get_observer [0.312025s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_connectors_post_observer [0.730718s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_put_member [0.268828s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5800ca8e-ba7b-4495-8939-8ace60f7b25d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-5b38aa6e-f86f-454b-80ec-b5f4f2023304 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b7084a2-40bd-4c21-88f6-5e3ae9ae3ced X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-3fe3e062-cba9-416a-b4ec-9d226187f57e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d257c61e-102e-4e0c-b7e5-8fe3633f12c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/ffdcb166-584a-468f-b05e-0392d5b7166f GET: /v1/allocations/ffdcb166-584a-468f-b05e-0392d5b7166f {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-138b000a-8297-49c8-b6bc-c1e915940eb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ffdcb166-584a-468f-b05e-0392d5b7166f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/22be8f6c-a667-43fa-845f-91b65fcd2a45 PATCH: /v1/allocations/22be8f6c-a667-43fa-845f-91b65fcd2a45 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-be3acb0c-3f72-49cd-8a5c-e6b32841be0c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 22be8f6c-a667-43fa-845f-91b65fcd2a45 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/6295ff16-6a7d-4f80-b837-6770e0aa4149 DELETE: /v1/allocations/6295ff16-6a7d-4f80-b837-6770e0aa4149 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-43d2c582-4e92-4eef-830a-2c68f302d4cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6295ff16-6a7d-4f80-b837-6770e0aa4149 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-d882919e-9dbb-44a5-946f-abb6a6a3a86d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-00fe1c01-3613-49da-92ae-840f6d6f1a03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/de2c890a-fded-45be-a216-819f66731b22 GET: /v1/deploy_templates/de2c890a-fded-45be-a216-819f66731b22 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1e8cad1b-2587-4b49-b014-5583efaf667f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/ea39b05a-459d-4f00-b33a-aa66d1caf380 PATCH: /v1/deploy_templates/ea39b05a-459d-4f00-b33a-aa66d1caf380 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7c3d88f5-319d-4d91-adf9-79e38181a9ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/a5e0dbeb-be77-4cbb-9c60-85b34d087f6e PATCH: /v1/deploy_templates/a5e0dbeb-be77-4cbb-9c60-85b34d087f6e [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8c276d16-0158-4fa5-b5c5-d6117a78b635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/cf6c6326-3c8b-4006-a9f4-559cb82e47e5 DELETE: /v1/deploy_templates/cf6c6326-3c8b-4006-a9f4-559cb82e47e5 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eef7909c-f1c6-4e47-b476-508078acf411 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_chassis_get_member [0.507139s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_nodes_allocation_delete_member [0.338920s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_nodes_bios_get_observer [0.378193s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_nodes_allocation_delete_observer [0.278794s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_detail_get_admin [0.504606s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_volume_connector_id_patch_member [0.680217s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_deploy_templates_get_member [0.264823s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_chassis_id_get_member [0.375387s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_deploy_template_id_get_admin [0.221836s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_nodes_bios_bios_setting_get_member [0.647763s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00291_chassis_chassis_id_delete_admin [0.182472s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_targets_get_observer [0.521943s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.317179s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dde773ee-b61d-4cfb-93a7-c4440cc412aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-f2ce74e1-77ee-4e0a-91c4-fd1f64d7bf3c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-f39eef34-6ca8-4ba3-b7a1-2b6f45aea0bb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-13a79a38-e15b-41c9-8c65-cec667ceb38c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c9d3c20e-9850-4628-a606-c473cf3fe59b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-1b53cd1b-9858-4284-b693-2d8d926f6b6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-63c2fc88-4be1-4817-beeb-f251605f41ca X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-18bd42dd-7170-47fb-8987-1650b61848e1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-70e2818e-fe62-4cef-b013-4c852027455e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1f6113aa-eb5d-4e29-9814-1274c5c75421 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-979a9cfc-53a0-4ceb-a044-0c2c98318c92 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9a6dca61-fd20-4f8f-b711-fbe283819bd1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4ac78655-0b8e-4902-8968-3ec62889b5cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/34aeefe6-f0e3-49f7-aa62-8a1a7eb8e6f1 GET: /v1/deploy_templates/34aeefe6-f0e3-49f7-aa62-8a1a7eb8e6f1 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ee17816d-3f91-4feb-bdf6-5c948f6b6e06 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/4350eb73-2df5-43e9-9e88-719e38b4ec66 GET: /v1/deploy_templates/4350eb73-2df5-43e9-9e88-719e38b4ec66 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_deploy_template_id_get_observer [0.414734s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6b273e9f-cd8c-4d87-922c-34826fcb2fcd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-295f836a-6920-428a-94af-bbdf8ad4b051 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1604f9c0-28ee-4296-b7eb-e3e082381314 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"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-c6949cee-10e4-4e50-a401-26768b1c89a9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-348bc559-8c96-4656-b7e6-27e8ffecc5f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-b08816b3-6d08-4f17-ac9b-9fec5210dfd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-3d05e54c-135b-4052-996c-3c1f8551c40f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-7e010a6c-01bd-4666-93d9-2f78b2aaf2de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-b0850adf-54fd-435c-a44c-471221d60af2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-af37f697-4c24-482e-bde9-a176fed27e0f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-26e51ea2-4a1f-4173-b9e9-6676ce0f9af5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-9cb29f90-a5b3-4354-bbc8-a04facb67351 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-48961f92-8e73-4744-bcbe-e3a48776251e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-8caf38b9-64a2-4390-8114-47809c5c98ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00233_nodes_bios_bios_setting_get_observer [0.592615s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_targets_post_admin [0.562641s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.538425s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00196_nodes_volume_connectors_get_admin [0.327576s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_conductors_get_admin [0.456087s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_targets_get_admin [0.059624s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_targets_get_observer [0.144571s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.420991s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_allocations_get_admin [0.318359s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_drivers_get_admin [0.173764s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.186924s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_properties_get_member [0.134518s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00015_nodes_node_ident_get_member [0.120135s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_properties_get_observer [0.121997s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_deploy_template_id_patch_member [1.386683s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_allocations_get_observer [0.375625s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.181891s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.325678s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_raid_logical_disk_properties_get_admin [0.476246s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_delete_admin [0.455497s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_chassis_id_get_observer [0.513297s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.321536s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.059790s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_chassis_id_patch_member [0.331957s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_raid_logical_disk_properties_get_observer [0.544525s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_vendor_passthru_methods_get_observer [0.192630s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.471811s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_delete_member [0.473596s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_delete_observer [0.064158s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.100514s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.172374s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.439158s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.150998s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_delete_member [1.365136s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fc6fd172-925f-438c-9a4f-741fbb3c29f1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-2a176403-3ea8-4927-b856-453d19aca907 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-a0e191e4-55a2-4fef-a132-d81f023b252c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-78361588-001f-4a6a-b744-401a7a34d327 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cb65d9da-4c9a-41a4-b926-510b00756638 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d7b4567c-7436-492f-ae1c-34bd102365cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8ecd516a-10cd-4e3a-8754-72d35882a712 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7f33d6a4-c72e-446d-8f91-62a3812ac617 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-7986db38-6d86-4f4d-8c53-133297cefa1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0511edbf-456d-4c3d-b942-c407d34406d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-16c75be7-490f-4b28-9739-05e36d980cf0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2358f208-2a4f-4bdb-9a54-6430adb05608 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-5e7fddf2-528a-47fd-9333-049109306949 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-73470c60-9d99-4f16-94a0-930c7c4c47ce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-01166e17-810e-4504-94f3-b7261ed267cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00038_nodes_management_boot_device_supported_get_admin [0.122925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.236393s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.163032s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6e9d7700-8790-4550-a227-40dda3a7dc5e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a410656b-97c1-40b6-9db1-93fb8a5ec82f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1df200dc-2dfc-4d60-862c-35ae9db76a62 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b94ae95a-6cd7-45e2-95c4-dfe58cdeee26 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0620b86f-1de8-40ad-8077-bc3ef0c8b5b6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"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-0d8518a4-f52b-4af1-8037-011568044bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-51f94f9b-3cad-4f77-8988-5eedca40667e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-05d01c59-0fc1-487d-964c-09a381a0ca21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4e99c317-94d4-4ac8-a041-4e04c37e5c1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-659794ef-f99b-44c8-91e7-b72cb322d39e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-9f68b159-9df2-43ed-80bd-a9c2865f79de X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-0744612b-ac4f-4bbf-b8de-4804a133a38d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-c5132d11-c318-46ec-8864-607cfbebc470 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-635b8512-d843-454e-a7a0-2c5b36662eb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_nodes_bios_get_member [0.504644s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_nodes_bios_get_observer [0.610630s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_nodes_allocation_get_admin [0.697253s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.540076s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.547847s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.257959s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.447724s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.204262s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_nodes_allocation_get_observer [0.592412s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_provision_put_admin [0.129370s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_raid_put_member [0.063667s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_raid_put_observer [0.067780s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_console_get_member [0.072254s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_vendor_passthru_get_observer [0.070005s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_post_member [0.078842s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_nodes_bios_bios_setting_get_observer [0.992699s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_traits_put_observer [0.070403s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_trait_put_admin [0.076531s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.762360s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_trait_put_observer [0.101727s] ... ok 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-856d3947-c484-4ba0-b35a-f151ef632845 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-641cd0a8-6fad-4646-a303-6dbb6c6773a0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-7344bd8f-899d-49f0-95db-6cccdeabc230 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-2487dd9d-be6a-48b3-b8b6-e8b86042a332 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a52ea0d6-11df-4ed6-a5a0-0de8e356366b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eb1b583f-cace-4979-a879-6606fe5b84eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f0cec2a3-a649-4df4-a0d0-09cce8ddf32f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0509e3f6-c6c5-447d-b10b-426c98e982e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-3256cbcb-8ec5-4a2a-ace3-7399a1d720cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-3b784b32-9a7e-4378-99d1-56455407d825 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-457a2975-51d4-4e00-8f26-f08522ce8307 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d79ed2d4-280b-4e88-890b-dbb6fb810e76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a7c6555e-498d-4bd0-9c5d-cd29ca05ed5c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2b772346-f681-4ddc-a1d7-71dfbb69614a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_trait_delete_admin [0.074742s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_vifs_get_member [0.055286s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_nodes_allocation_delete_admin [0.811777s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_vifs_post_admin [0.115925s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_vifs_post_member [0.066010s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_allocations_get_observer [0.580427s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_node_vif_ident_delete_observer [0.061486s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_management_indicators_get_observer [0.069493s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_deploy_templates_post_observer [0.289068s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_portgroups_get_admin [0.070205s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_portgroups_get_member [0.069372s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_detail_get_admin [0.088981s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.474051s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_portgroup_ident_patch_admin [0.116644s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_allocation_id_get_observer [0.451916s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_deploy_template_id_get_observer [0.418567s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_delete_observer [0.106937s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_deploy_template_id_patch_observer [0.084600s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_nodes_portgroups_get_observer [0.076350s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_allocation_id_patch_admin [0.250854s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_ports_get_admin [0.072939s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_ports_post_observer [0.070353s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_chassis_post_member [0.170984s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_delete_admin [0.169699s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_chassis_get_admin [0.128063s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_delete_observer [0.171253s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ce2e8d9d-3b57-41f2-b4f6-9742e8834122 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/d29b615b-56cc-4c76-a1dc-7beb4e3dde63 PATCH: /v1/deploy_templates/d29b615b-56cc-4c76-a1dc-7beb4e3dde63 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7d0e639b-61b7-43b2-a73e-c040076b2b4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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-1b656a87-cb76-40aa-986e-4b5b3698b97f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-40b5ad14-0c99-4599-b2f8-0a3f07c43b01 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-3f484218-2eaa-481a-9513-0d6e0c07202f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-e2a5b77a-5df2-4ec2-b673-2661fcd7fb34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9bee5fb9-631b-4eaf-9dbf-b85360bdd019 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-801cb0a4-5083-4ef2-a9eb-5b61e29f3f61 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af613a79-6777-483c-a84f-b533837b17a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af613a79-6777-483c-a84f-b533837b17a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": []} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f6cf4ae8-e28a-425c-9ee7-cfba1c70877f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f79ac5a7-a40f-47e8-bb46-b690ecbceb75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3a35a7b7-6324-4229-b9e1-8569f2871577 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f648641b-5dfd-41df-8899-bcee8db4d9c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cc4ce9f9-877c-45c0-857e-70e11d33a649 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_port_id_get_observer [0.311650s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_chassis_get_observer [0.184136s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.668233s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e2f7333-f607-48f6-bb81-4b1b93d34956 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f5d1a217-acb3-4f0b-b5e1-b8e64eb58bc0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ef569388-047b-4ce1-8c71-ee0d503bee5c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9615c0ea-ff46-4d66-917b-d5ab461790a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f2358b4d-78ba-4bae-8eb6-a9262dcb12fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-099c5b18-0128-448b-a37a-2d81383fc6c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-12b25f69-a022-4765-a3dc-3de580f7875a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4775b3a4-765c-48cc-b7d8-5e22c4dca7c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d6f21960-0974-44f5-bb6c-2388a42be157 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc715610-3b68-4fe6-8bf1-1a865b1962b3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-778a8c28-927d-429f-b5d2-177b1275297f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a0fd6c4c-e6a5-4d91-840c-7f404bfb5478 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b6d4d108-5418-4dff-b59c-2339b00d4dcb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67b39317-7f94-4a25-9a99-7097bacba1e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-408c1a38-c871-446f-b6d5-e64756335238 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_port_id_patch_admin [0.085494s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00027_nodes_maintenance_put_member [0.219967s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_deploy_templates_post_observer [0.232095s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_nodes_ports_get_member [0.115763s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_nodes_ports_detail_get_observer [0.130238s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_connectors_post_observer [0.118963s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c0c1044a-24c6-4cc6-ab95-5cabe757034b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8da47ec0-7142-433d-a6d9-84aa31a6b68d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-3a739726-e3d0-4451-9b3c-21d7f2f6e65d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ab43073a-1b69-4936-8bf4-0a4868ab30e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/95972d23-84d0-4f66-8fdb-247e591760d5 DELETE: /v1/allocations/95972d23-84d0-4f66-8fdb-247e591760d5 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d430de61-46ae-4c79-b93d-14e7d426ae9b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 95972d23-84d0-4f66-8fdb-247e591760d5 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/439b36b5-16da-4cd7-89e9-55334cc32df5 DELETE: /v1/allocations/439b36b5-16da-4cd7-89e9-55334cc32df5 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebcabc61-aae1-4466-99ca-cc23d290db2a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 439b36b5-16da-4cd7-89e9-55334cc32df5 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-01a9df00-31cd-4a85-838b-108435f564dc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a49afab5-42ed-4658-b365-fe82a7568a6b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-42ad9d4f-ed6d-43d6-9849-6fddc06b4735 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cf5488e6-9557-4130-ab89-2d8a3fb288fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/27bd2256-2a09-479b-be68-7ab1d1bf1f3b GET: /v1/deploy_templates/27bd2256-2a09-479b-be68-7ab1d1bf1f3b {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c164a983-eed5-4cb2-af78-da1572e8b7ad X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/89faeb12-5b13-41f0-9888-dea751aabb06 PATCH: /v1/deploy_templates/89faeb12-5b13-41f0-9888-dea751aabb06 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-edcef915-b28f-46de-8aca-78c84c68a203 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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-0182cde8-91e9-4a0c-8745-19a3e5e892d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-dfca672b-4eff-4720-a52a-9d157ae38880 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-dfa8c216-9bcf-4a00-bcbd-838e8d54e296 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_detail_get_member [0.216531s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_chassis_id_get_admin [0.057056s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_chassis_id_get_member [0.056219s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00006_nodes_get_node_member [0.078959s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_volume_connector_id_patch_member [0.175279s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_delete_member [0.082474s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_deploy_templates_get_admin [0.592254s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.599256s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5e9aec9f-1547-43aa-9df8-6751d9e4afc4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-1a84bf2b-6022-4a8b-abde-972d440bec6c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-deedb18a-1960-4ca0-8f93-778eef597272 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-7f0337c5-7340-4170-9ee3-bb4a084ef06a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:14.641790+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-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, "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-7f0337c5-7340-4170-9ee3-bb4a084ef06a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:14.641790+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-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, "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 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.070935s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.074004s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.135515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_deploy_templates_get_observer [0.101204s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_targets_post_member [0.182485s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.210240s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_delete_admin [0.143160s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_chassis_post_admin [0.064714s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_targets_post_observer [0.202645s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.338661s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_delete_admin [0.303170s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.651666s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_chassis_post_observer [0.480338s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.208050s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_console_put_member [0.228031s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.899831s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_chassis_get_admin [0.689533s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_put_member [0.445986s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_nodes_volume_get_admin [1.028011s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5c4662f1-3b1d-4b38-ba3d-9ff0881614d5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2758d24b-e648-4c43-807d-605750ec02ba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-86201845-81f9-42d3-b561-a72d8a0211ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-76f07e90-29ba-4121-b571-a4605b2bf2e7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/90adfa0c-5067-447f-86cd-9ecb52f83db5 GET: /v1/allocations/90adfa0c-5067-447f-86cd-9ecb52f83db5 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fad518c1-f181-4262-bcf2-8d35f41240eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 90adfa0c-5067-447f-86cd-9ecb52f83db5 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/81660e05-33f6-46d7-956e-142304ae5745 PATCH: /v1/allocations/81660e05-33f6-46d7-956e-142304ae5745 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6b495465-c48c-48af-9feb-11fa114203f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 81660e05-33f6-46d7-956e-142304ae5745 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/744b95fb-faa4-414a-bf76-36d890d23bc7 DELETE: /v1/allocations/744b95fb-faa4-414a-bf76-36d890d23bc7 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-250d6754-b03a-4b5e-b0c4-1910f3f3b5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 744b95fb-faa4-414a-bf76-36d890d23bc7 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/e8995d31-79cc-409c-a9b4-f38403415612 DELETE: /v1/allocations/e8995d31-79cc-409c-a9b4-f38403415612 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71f8f8c7-f501-4561-a7fd-4e06e27c3693 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e8995d31-79cc-409c-a9b4-f38403415612 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-62215fa7-e2da-4f30-94b1-6ea9d142cf3e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-4794a7ca-6482-41df-a55a-3a579e48d157 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-e5609e5e-2297-4815-9ce7-9e1df3a6b33c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/e7d65170-e1d8-4e3a-a424-fb020a61ae48 DELETE: /v1/deploy_templates/e7d65170-e1d8-4e3a-a424-fb020a61ae48 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2765c019-a4a7-462f-97c4-c386b5d245d6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-cc7f3e6a-8de7-428e-a1e6-5c37b787692e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-cc482310-069b-48ed-9aa0-5df283e3241f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-a0b783e7-0d2d-4846-aba5-f9be08d46862 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_detail_get_member [0.230318s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00073_nodes_vendor_passthru_delete_admin [0.316510s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.235666s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_delete_observer [0.298028s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_nodes_volume_get_member [0.519704s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.237530s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7c820c9a-5240-463b-882b-27e523ca3359 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7c820c9a-5240-463b-882b-27e523ca3359 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path 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-9dd753ac-2bfa-422a-8674-59e84a96b06a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9dd753ac-2bfa-422a-8674-59e84a96b06a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"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-3341887b-e7f2-4c10-8198-a2e9e37a59c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3341887b-e7f2-4c10-8198-a2e9e37a59c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eba57525-aaae-4cae-aaf3-10317c5fa850 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eba57525-aaae-4cae-aaf3-10317c5fa850 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-477c897b-7e66-4b3a-b947-3cf1cca5201c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-477c897b-7e66-4b3a-b947-3cf1cca5201c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-636fabaa-639a-43a5-9956-559ea3d2ceb4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-636fabaa-639a-43a5-9956-559ea3d2ceb4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fb205b71-ca3f-4ed2-afb0-ac656df89bab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.711061s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_traits_get_member [0.224968s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.266500s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.457636s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_traits_put_admin [0.241144s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.231741s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_nodes_volume_connectors_get_admin [0.516557s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00082_nodes_traits_delete_admin [0.198134s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.260169s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.327076s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_nodes_volume_connectors_get_member [0.338761s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00089_nodes_traits_trait_delete_member [0.280742s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.270552s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_targets_get_admin [0.281753s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00052_nodes_states_provision_put_admin [0.375489s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_vifs_get_observer [0.309648s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.229165s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.355554s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.099164s] ... ok 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-c7d69ca2-28c3-4980-98cb-1c8825563865 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5811eea8-5ceb-431c-8a07-acc621b178ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-a92fcb50-f35c-46de-86eb-a72bd4cdea37 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0fc5fe41-35a4-4b06-9a30-26c4e68cbbde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bab32a5d-3c36-4ce5-b95b-be4dbb36125b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45bdc857-a18f-4fed-9ec3-8aadb66c0eac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-39e05d19-256f-4931-8801-7030edbb1d81 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b23e9368-2c20-4641-96f5-d1c1c3d87e28 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5795d6b0-5dcb-465a-8e97-eaff19cf01a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e1f96aa6-7a89-4312-bb56-5091e3cf62ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e23b3e65-6d37-408c-889d-e4771c497006 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e66dd604-76b9-40b2-b39f-a1f04545b6f2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0e3b2a1-7f03-4dd1-861d-0da2d18b370d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-ca9cb4e4-7a97-4914-8ff6-83e8aec34815 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_properties_get_admin [0.354784s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0752d47-4801-411e-8cd2-e4c159c651ec X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d94f9415-ed20-4b18-8892-01b16cb0c00d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b05bdd32-61eb-47bd-b223-df8621d22c6f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-9e0bc65e-0dde-4a15-be3b-ced500bf0c67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-46c86927-c605-485b-b9cf-6fe2745c9b4c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eed7fbb1-41f6-4a51-974d-4492168ef27f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f9ed7ae7-e59a-4501-b7fb-bb7ec31ea0cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e042b686-ca4b-4a8e-b186-aed4268d3a10 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8c05f27a-409c-49e4-9783-c0623aaed73c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-a033abe9-373b-43eb-86c6-526cbedff6e5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f7fe9d9-1cca-45b0-8be8-e03884aa3a02 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9702743d-50c8-4b8a-a3b8-cef32bd98744 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a5394a59-6b8a-491b-a5ad-69b37f2dab81 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-fda1123b-1c46-4555-a371-b8de36265011 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_management_indicators_get_admin [0.292055s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_vendor_passthru_methods_get_member [0.539233s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00040_nodes_management_boot_device_supported_get_observer [0.096771s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_vendor_passthru_get_admin [0.337408s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.163976s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_provision_put_member [0.118800s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_post_admin [0.397904s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00110_portgroups_post_member [0.290422s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00065_nodes_vendor_passthru_methods_get_reader [0.528386s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00052_nodes_states_provision_put_observer [0.207113s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_post_observer [0.177946s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_portgroup_ident_get_admin [0.276763s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_portgroup_ident_get_member [0.115345s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-19bb7f3c-c83b-4ed8-a235-6118830cb7fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff6aa38f-9928-4ef6-aea6-c97da5521b70 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9d068c8c-47b5-4f06-ab21-9bc0225f3e44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-3475818b-a24a-4490-8e5a-de3db143a71e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-24f7b042-5bb1-44b6-b7ee-3d4f37f52209 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5346e4c6-a2c3-4fb3-976d-a146792ce8cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f57b9dd8-88f3-4800-b131-827115ee8341 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bee3bf27-bd4d-40bd-ac60-3f2baf142844 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-78b476e7-0bc3-43bc-b5d2-ac3239a9d39e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-bf4fc5e7-c2c7-4af2-b30f-c74ff49b5161 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-bae0bb85-adef-4df3-8c35-9fb971325ac6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b944c1f8-0741-42c7-b35f-e12ca7465a1e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ea212500-0ec3-4189-b0c2-3dba40c4f7e9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1eb9d44e-ec95-473d-95d5-398fac2012ac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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}]}} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_raid_put_admin [0.283939s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_put_admin [0.279663s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_portgroup_ident_get_observer [0.054490s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_nodes_portgroups_detail_get_admin [0.063402s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_nodes_portgroups_detail_get_member [0.072794s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_console_get_admin [0.254710s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_console_put_admin [0.071074s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_vendor_passthru_get_reader [0.664611s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_put_observer [0.347984s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00131_ports_get_member [0.250138s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_nodes_bios_bios_setting_get_admin [0.285547s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_post_admin [0.389209s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_ports_get_observer [0.325635s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_allocations_post_admin [0.191522s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00241_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: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fb205b71-ca3f-4ed2-afb0-ac656df89bab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a5c1d43c-fb85-4420-88df-73cce6ddd816 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5c1d43c-fb85-4420-88df-73cce6ddd816 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e626d615-a46d-47c3-988b-85d8ed6b9f56 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e626d615-a46d-47c3-988b-85d8ed6b9f56 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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-1892c0b5-17c6-4d50-b9e0-99d300cc442b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1892c0b5-17c6-4d50-b9e0-99d300cc442b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-937924d7-77b6-4f14-89b6-90c455d5b8e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-937924d7-77b6-4f14-89b6-90c455d5b8e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a251dc01-286d-4429-baad-04738f6521a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a251dc01-286d-4429-baad-04738f6521a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f2cffcd-8e72-4263-8358-6e9a9ee81f66 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0f2cffcd-8e72-4263-8358-6e9a9ee81f66 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fc571fb0-34cb-4a10-a9d3-2a0f6d4dceb8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc571fb0-34cb-4a10-a9d3-2a0f6d4dceb8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6db7e44-99cc-4a31-b97f-044b571c2e55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_traits_get_admin [0.193763s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_detail_get_observer [0.391218s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_allocation_id_patch_admin [0.197240s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00081_nodes_traits_put_admin [0.491220s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_console_put_observer [1.160734s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_deploy_templates_post_member [0.389463s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_port_id_get_admin [0.464519s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_port_id_get_member [0.063739s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_vendor_passthru_methods_get_admin [0.317554s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_port_id_patch_observer [0.250350s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_nodes_ports_get_admin [0.054777s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_deploy_templates_get_admin [0.427977s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_trait_put_reader [0.704049s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_nodes_ports_get_observer [0.147357s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_vendor_passthru_methods_get_member [0.473470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_deploy_template_id_get_member [0.268752s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_vifs_post_reader [0.379953s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb5f55b2-dfdf-4de0-bd88-22a8e2594514 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c3e7e9bb-6245-494b-99ec-4cc8ee7033a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5f475984-bdd3-429d-a8fc-475748b8f444 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ce62954b-77c8-4706-9d10-2c420a0e2d9d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-51265cf3-2c93-4bbb-83d2-356a0ac9cce5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d34b93ea-7262-4fc5-9e75-e6781b3920ae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-0e06fb0b-2059-4574-88f8-4fabdfb01fbc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-acf3fa6d-0956-4c8c-83a6-fb475a02f55b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-75884500-c9a2-433b-a96f-31a04a05aac2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-466b94b6-1acd-4594-9a66-b52e3f2d852f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1ad70184-d47e-4817-b97e-b5aabbd1666c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8b8e93af-5624-47d3-ba9b-91de1d280a15 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ff1cd4bc-8e4f-4b30-a548-d7a91cac3e36 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a730cec0-fc73-47ff-a31d-0c2bfb360faa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-40d44ebe-baa9-444d-a1b3-2722a82ea59c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_nodes_ports_detail_get_admin [0.126610s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00154_portgroups_ports_get_admin [0.268201s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_node_vif_ident_delete_admin [0.128602s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_vendor_passthru_methods_get_observer [0.546748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_node_vif_ident_delete_member [0.185036s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_chassis_post_observer [0.550156s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_portgroups_get_member [0.090293s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_detail_get_admin [0.309998s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6db7e44-99cc-4a31-b97f-044b571c2e55 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b33334b5-5946-49b0-b0b6-d09d8dfce1cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b33334b5-5946-49b0-b0b6-d09d8dfce1cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8cd3f373-3bb3-4c30-9af7-9a3a359a0e39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8cd3f373-3bb3-4c30-9af7-9a3a359a0e39 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-5ec62525-3fc1-4877-a374-86d37e12568f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5ec62525-3fc1-4877-a374-86d37e12568f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-76890698-f542-4949-babe-0610b7ceccde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-76890698-f542-4949-babe-0610b7ceccde X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e909695d-3400-4186-83a2-450eb0d90b63 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e909695d-3400-4186-83a2-450eb0d90b63 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c39e8472-c4ce-4a84-ab48-808873000677 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c39e8472-c4ce-4a84-ab48-808873000677 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/1b39c598-3140-4125-b0cf-f4d1f800ec07 Openstack-Request-Id: req-8259f4bc-8133-4cfe-9baa-a22ea0d12e75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1b39c598-3140-4125-b0cf-f4d1f800ec07", "created_at": "2024-03-06T09:37:22.926775+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/1b39c598-3140-4125-b0cf-f4d1f800ec07", "rel": "self"}, {"href": "http://localhost/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07/ports", "rel": "self"}, {"href": "http://localhost/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_portgroups_post_admin [0.136258s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_portgroups_ports_get_observer [0.698148s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_portgroup_ident_get_member [0.133640s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_portgroup_ident_get_reader [0.113683s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cf479438-923a-4b03-9c40-107c341fa5c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-cbf6663b-80f3-4fb2-812c-b5ce935803ba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0cc7b8fb-ea37-4693-9f96-fff5a8703d05 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-e541f02a-7427-406a-87de-a040c4125f2a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-59deb575-cab0-4b14-aa3f-0827a8ce5c5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c2c2efab-149d-40be-a892-89b8f66281c9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-ee2ae6e2-e680-4302-b282-f76ab5339229 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a6a84fab-4890-44e5-a9f9-3fd98ceae165 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/d47577ac-96fe-4bfd-8c3d-c539e01b43c2 PATCH: /v1/allocations/d47577ac-96fe-4bfd-8c3d-c539e01b43c2 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84e5165e-c9f4-476a-909d-c1dacecf4b31 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d47577ac-96fe-4bfd-8c3d-c539e01b43c2 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-04b63642-2e50-464a-94dc-0c0997451951 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-dde18bff-6ef1-45cf-b718-cc7656df2c2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/550357b4-dec7-412e-a627-03669fca47b1 GET: /v1/deploy_templates/550357b4-dec7-412e-a627-03669fca47b1 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2c532784-8677-4bfe-94a6-5e18fefb7cbf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-cbf4db17-927d-47f4-b9a4-976e4443122c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-74077292-490d-4286-b469-18c5d77b3466 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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'}] {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_chassis_id_patch_admin [0.144558s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_vendor_passthru_get_admin [0.662228s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_delete_observer [0.204728s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_nodes_portgroups_get_member [0.133549s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07 Openstack-Request-Id: req-8259f4bc-8133-4cfe-9baa-a22ea0d12e75 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1b39c598-3140-4125-b0cf-f4d1f800ec07", "created_at": "2024-03-06T09:37:22.926775+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/1b39c598-3140-4125-b0cf-f4d1f800ec07", "rel": "self"}, {"href": "http://localhost/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07/ports", "rel": "self"}, {"href": "http://localhost/portgroups/1b39c598-3140-4125-b0cf-f4d1f800ec07/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-c7047bd4-0da2-424c-a1b7-274bfc312a4a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:22.995801+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-c7047bd4-0da2-424c-a1b7-274bfc312a4a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:22.995801+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-1cc7c575-8c3b-44e7-8622-0cd024eb6e97 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:23.101102+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-1cc7c575-8c3b-44e7-8622-0cd024eb6e97 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:23.101102+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e5638c0-e7e7-4619-b73b-3c0026e7b536 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2e5638c0-e7e7-4619-b73b-3c0026e7b536 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0aec6a12-0ff1-45f1-9d8a-bbf6b5ef701f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:23.375473+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_00128_nodes_portgroups_detail_get_member [0.100048s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_detail_get_member [0.122566s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_vendor_passthru_get_member [0.400440s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.355379s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_portgroups_ports_detail_get_member [0.678275s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.194592s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0732438f-1c5d-4220-8420-8d2388491482 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-438f0eb4-7e97-4e56-b30a-d2926b901622 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-4b64dc18-9bd4-4797-b62a-c106d42a2a0b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4b64dc18-9bd4-4797-b62a-c106d42a2a0b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e3ba6685-c8bb-4e29-b55d-c1ea62f8cd34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e3ba6685-c8bb-4e29-b55d-c1ea62f8cd34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eeaf0c12-b4c1-4f53-82e8-0242799eeaae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:23.928854+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-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, "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 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00007_nodes_get_node_reader [0.137666s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_post_observer [0.460830s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_port_id_get_member [0.654714s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_volume_get_admin [0.490410s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00010_nodes_get_other_admin ... SKIPPED: Not implemented yet {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_volume_get_observer [0.235724s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_delete_member [0.329395s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_volume_connectors_get_admin [0.166542s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_traits_get_observer [0.191417s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_connectors_post_admin [0.192170s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_trait_delete_observer [0.181521s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00145_ports_port_id_delete_admin [0.765548s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eeaf0c12-b4c1-4f53-82e8-0242799eeaae X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:23.928854+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-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, "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-db0c1d19-492c-448f-bba7-18f5009dbcd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:24.654663+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-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, "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-03-06T09:37:24.657103+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-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, "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": "26f4e48c-54c1-4a23-af27-0230c7150427", "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-03-06T09:37:24.833910+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00013_nodes_detail_get_reader [0.706606s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_volume_connector_id_get_member [0.357817s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_vifs_post_observer [0.341317s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00157_portgroups_ports_detail_get_admin [0.430343s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_volume_connector_id_get_observer [0.196681s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_portgroups_ports_detail_get_member [0.066682s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_portgroups_ports_detail_get_reader [0.124042s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c7cc12f-79b8-49ae-b0b3-85d8d418351a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-31c35a79-c7f1-42c1-8988-7a31a58941cd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-70df3222-aeaa-4fec-a183-de51da70ad35 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5e6e9107-8acf-4323-8335-ceef5efbc4d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f2e60450-16b0-4b08-a8ae-a193d2a09717 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f9fce22e-45af-4bc4-987c-a297409b67bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-f977f41f-5a24-43cc-b167-8d58cd92edce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-021556e8-d571-4be3-8648-ade41d6e8834 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-1addb8ec-f77b-47ba-8c4a-c96c227ad6d3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-08098db8-2816-4865-9510-0101fb4bf840 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2005a341-11de-42b7-9b96-931f13502ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-82c99d63-98f7-42c5-8ec5-b09908776ac1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-8b3d4237-04ac-4a69-8ca6-21fe5846ca5e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2591f7d7-4607-4139-9c34-0e2f6c1d9d2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_node_vif_ident_delete_member [0.507302s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db0c1d19-492c-448f-bba7-18f5009dbcd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:24.654663+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-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, "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-03-06T09:37:24.657103+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-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, "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": "26f4e48c-54c1-4a23-af27-0230c7150427", "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-03-06T09:37:24.833910+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00014_nodes_node_ident_get_admin [0.629881s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_delete_admin [0.330482s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0aec6a12-0ff1-45f1-9d8a-bbf6b5ef701f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:23.375473+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/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2676255b-9b9a-401b-8ddc-cacd79ef7a9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:23.458208+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-2676255b-9b9a-401b-8ddc-cacd79ef7a9e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:23.458208+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-92b87a83-e799-4b17-abe1-aa0157cde460 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:23.797195+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-92b87a83-e799-4b17-abe1-aa0157cde460 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:23.797195+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3874cd15-aecc-4a0e-95b6-1991943763b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3874cd15-aecc-4a0e-95b6-1991943763b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"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-ee0cc5c6-6d18-4167-a0b2-b48c44e72678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee0cc5c6-6d18-4167-a0b2-b48c44e72678 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-43d01fa2-e923-4d61-b73b-1f483a0ae823 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43d01fa2-e923-4d61-b73b-1f483a0ae823 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-43ea427e-8656-4f7a-8922-b1abef8c8740 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43ea427e-8656-4f7a-8922-b1abef8c8740 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_volume_get_reader [0.140169s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_connectors_post_member [0.114049s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_delete_reader [0.106262s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc83f19e-3b6b-4da9-a8cf-4eae76f93aa6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:25.307887+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-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, "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-fc83f19e-3b6b-4da9-a8cf-4eae76f93aa6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:25.307887+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-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, "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_00015_nodes_node_ident_get_member [0.307588s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_management_indicators_get_member [0.411749s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_targets_post_admin [0.176003s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_targets_get_admin [0.399420s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_volume_target_id_get_member [0.077811s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bbb0d920-87ff-4683-ab1f-110cffb079bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bbb0d920-87ff-4683-ab1f-110cffb079bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/3c981cf5-1861-44fb-a69c-6d4b9b43278a Openstack-Request-Id: req-90b37a75-18f2-4841-ad1a-ff1e797b4692 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c981cf5-1861-44fb-a69c-6d4b9b43278a", "created_at": "2024-03-06T09:37:25.814989+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/3c981cf5-1861-44fb-a69c-6d4b9b43278a", "rel": "self"}, {"href": "http://localhost/volume/connectors/3c981cf5-1861-44fb-a69c-6d4b9b43278a", "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/3c981cf5-1861-44fb-a69c-6d4b9b43278a Openstack-Request-Id: req-90b37a75-18f2-4841-ad1a-ff1e797b4692 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "3c981cf5-1861-44fb-a69c-6d4b9b43278a", "created_at": "2024-03-06T09:37:25.814989+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/3c981cf5-1861-44fb-a69c-6d4b9b43278a", "rel": "self"}, {"href": "http://localhost/volume/connectors/3c981cf5-1861-44fb-a69c-6d4b9b43278a", "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-742f9bdb-eeac-4ca4-ab30-a7b163f6687c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-742f9bdb-eeac-4ca4-ab30-a7b163f6687c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': 1, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/a70e0d85-1ba6-418d-b257-a3495d3b12d9 Openstack-Request-Id: req-1834b944-6a11-4bdb-b4fb-5953f516484b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "a70e0d85-1ba6-418d-b257-a3495d3b12d9", "created_at": "2024-03-06T09:37:26.109988+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a70e0d85-1ba6-418d-b257-a3495d3b12d9", "rel": "self"}, {"href": "http://localhost/volume/targets/a70e0d85-1ba6-418d-b257-a3495d3b12d9", "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/a70e0d85-1ba6-418d-b257-a3495d3b12d9 Openstack-Request-Id: req-1834b944-6a11-4bdb-b4fb-5953f516484b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "a70e0d85-1ba6-418d-b257-a3495d3b12d9", "created_at": "2024-03-06T09:37:26.109988+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a70e0d85-1ba6-418d-b257-a3495d3b12d9", "rel": "self"}, {"href": "http://localhost/volume/targets/a70e0d85-1ba6-418d-b257-a3495d3b12d9", "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-825c285d-6ccc-47a0-a3f8-483ee06740cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:26.154068+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-825c285d-6ccc-47a0-a3f8-483ee06740cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:26.154068+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-91e66bbf-54df-4f49-be97-4ae664b46ffc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_volume_target_id_patch_admin [0.115566s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_nodes_volume_get_admin [0.075550s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_targets_post_admin [0.319039s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_properties_get_reader [0.121943s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-791ff772-b561-47c0-9d6d-e93a23582d50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:25.799182+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-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, "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-791ff772-b561-47c0-9d6d-e93a23582d50 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:25.799182+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-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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00016_nodes_node_ident_get_reader [0.621707s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_detail_get_member [0.554061s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_raid_logical_disk_properties_get_reader [0.348710s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_vendor_passthru_methods_get_admin [0.082367s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_volume_target_id_get_admin [0.453381s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00214_drivers_vendor_passthru_methods_get_member [0.088611s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_vendor_passthru_methods_get_reader [0.058209s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_vendor_passthru_get_admin [0.057284s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.617463s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00114_portgroups_detail_get_observer [0.638033s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-91e66bbf-54df-4f49-be97-4ae664b46ffc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f33170f3-ccd3-4f45-b5d7-e41e57bc67c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f33170f3-ccd3-4f45-b5d7-e41e57bc67c5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-354df987-5dae-4c80-a65e-24738a05ad7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-354df987-5dae-4c80-a65e-24738a05ad7e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8e8a02a-6e44-4b38-b111-63dc9d166bbb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d8e8a02a-6e44-4b38-b111-63dc9d166bbb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-37b8de33-4e6e-4c22-8ba5-4bf679c99d8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-37b8de33-4e6e-4c22-8ba5-4bf679c99d8c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bbbd9cf6-e1b4-41ca-b516-5a35e3abb52d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bbbd9cf6-e1b4-41ca-b516-5a35e3abb52d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cca2655b-b222-4947-aa06-1c991020ee4f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cca2655b-b222-4947-aa06-1c991020ee4f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-533c2f05-4972-4c8f-96f9-4d4d3c26ade6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-533c2f05-4972-4c8f-96f9-4d4d3c26ade6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_post_member [0.121721s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_put_admin [0.056478s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_put_member [0.113683s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_nodes_bios_get_admin [0.092042s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_nodes_bios_get_member [0.069571s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.506641s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_conductors_get_reader [0.162799s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_portgroup_ident_patch_observer [0.567823s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:allocation:create_pre_rbac failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_allocations_post_admin [0.186265s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b065041-0516-49e1-81b2-c00135cc11b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:26.135689+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-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, "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-3b065041-0516-49e1-81b2-c00135cc11b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:26.135689+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-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, "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-3797d4b4-5296-417e-9844-635ab1dc2e1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3797d4b4-5296-417e-9844-635ab1dc2e1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d5723a53-b5e9-4ccc-9d14-90c5ec95b454 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d5723a53-b5e9-4ccc-9d14-90c5ec95b454 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.193380s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:allocation:create_pre_rbac failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_volume_target_id_get_member [1.123423s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-289ce56b-2176-4a12-a65a-e801e01cf02c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-289ce56b-2176-4a12-a65a-e801e01cf02c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f391905a-13a0-4f42-b5c6-e5774fce9af5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f391905a-13a0-4f42-b5c6-e5774fce9af5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eeac8db4-4a26-4346-8401-4be0468295d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eeac8db4-4a26-4346-8401-4be0468295d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6eab4ace-3b64-481a-b454-bf9b686e8c17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:27.498277+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-6eab4ace-3b64-481a-b454-bf9b686e8c17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:27.498277+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-84ce3228-4ecf-45ad-8d9b-d89cb209a5c4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:27.571103+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-84ce3228-4ecf-45ad-8d9b-d89cb209a5c4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:27.571103+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-baef4d88-af1a-4bd9-a24f-542256cc8fd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-baef4d88-af1a-4bd9-a24f-542256cc8fd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2574ae63-1027-45db-b01f-f7dfd6701448 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2574ae63-1027-45db-b01f-f7dfd6701448 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-768cd4ad-35e8-4e2c-b5fd-4ba32ce4abb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00240_allocations_post_member [0.073451s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_allocation_id_patch_member [0.074757s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_allocation_id_patch_reader [0.096300s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_nodes_allocation_get_member [0.086158s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.439884s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_nodes_allocation_get_reader [0.126330s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_delete_member [0.560707s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_nodes_allocation_delete_admin [0.087403s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f599d36-8220-4a4f-815c-c1f0774425e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-83a0bbea-e9e7-406b-94ff-1fa5868090b0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-930ad277-ba2d-49c2-b4e2-2f9d9e42b4bc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a6bb30a6-e1de-4c0f-aa91-66dc0c3dab83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-37bb9144-72c3-4161-969e-cf46e2bc1b2d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-316eafa4-d978-4037-959e-ae39639cfcd3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88cb586d-3786-4696-9293-4593bd9b4369 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2f4aa542-20dc-4093-81fc-e2b77f75f1d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c0e1ad05-1538-4c09-a73c-41044950cde9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-918bb3a9-01c6-459f-a34c-c8b244afd9cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-058775e2-48a5-4218-a10c-9963421241bf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-79879f69-fb50-4841-8b5e-db1b6b51c380 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-614098d3-97b9-4555-8201-dda52d50afa6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-032abb04-4afb-40a5-8e1b-cb9b7b9babb2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7a72fb99-70a7-4308-a61a-e089a3c179b1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_volume_target_id_get_observer [0.491052s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-768cd4ad-35e8-4e2c-b5fd-4ba32ce4abb1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/9c832341-f5fd-44a4-af70-b111dca05c26 PATCH: /v1/allocations/9c832341-f5fd-44a4-af70-b111dca05c26 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbc73ef5-c6dd-49f9-b1d4-6e35b13f0c22 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9c832341-f5fd-44a4-af70-b111dca05c26", "created_at": "2024-03-06T09:37:28.052628+00:00", "updated_at": "2024-03-06T09:37:28.093236+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/9c832341-f5fd-44a4-af70-b111dca05c26", "rel": "self"}, {"href": "http://localhost/allocations/9c832341-f5fd-44a4-af70-b111dca05c26", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbc73ef5-c6dd-49f9-b1d4-6e35b13f0c22 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "9c832341-f5fd-44a4-af70-b111dca05c26", "created_at": "2024-03-06T09:37:28.052628+00:00", "updated_at": "2024-03-06T09:37:28.093236+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/9c832341-f5fd-44a4-af70-b111dca05c26", "rel": "self"}, {"href": "http://localhost/allocations/9c832341-f5fd-44a4-af70-b111dca05c26", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/d724f366-df87-4834-ae57-1a0f4f1833b8 PATCH: /v1/allocations/d724f366-df87-4834-ae57-1a0f4f1833b8 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-87bafdcd-7733-4b5c-9e92-d6885a99530a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-87bafdcd-7733-4b5c-9e92-d6885a99530a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2c41a435-34d1-4d73-ae93-8acf2f055a9b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7d2721a9-451f-48cf-8adf-8c64b8cee831", "created_at": "2024-03-06T09:37:28.224150+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7d2721a9-451f-48cf-8adf-8c64b8cee831", "rel": "self"}, {"href": "http://localhost/allocations/7d2721a9-451f-48cf-8adf-8c64b8cee831", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c41a435-34d1-4d73-ae93-8acf2f055a9b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7d2721a9-451f-48cf-8adf-8c64b8cee831", "created_at": "2024-03-06T09:37:28.224150+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7d2721a9-451f-48cf-8adf-8c64b8cee831", "rel": "self"}, {"href": "http://localhost/allocations/7d2721a9-451f-48cf-8adf-8c64b8cee831", "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-4f751b50-67c5-4cfd-90d4-e25cbeff0bee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "d65d609c-ef1d-4144-8a3a-c540a660c4f5", "created_at": "2024-03-06T09:37:28.333923+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d65d609c-ef1d-4144-8a3a-c540a660c4f5", "rel": "self"}, {"href": "http://localhost/allocations/d65d609c-ef1d-4144-8a3a-c540a660c4f5", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f751b50-67c5-4cfd-90d4-e25cbeff0bee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "d65d609c-ef1d-4144-8a3a-c540a660c4f5", "created_at": "2024-03-06T09:37:28.333923+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d65d609c-ef1d-4144-8a3a-c540a660c4f5", "rel": "self"}, {"href": "http://localhost/allocations/d65d609c-ef1d-4144-8a3a-c540a660c4f5", "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-d132afed-8f50-44f4-8f65-e7d3c08c1c8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d132afed-8f50-44f4-8f65-e7d3c08c1c8e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_nodes_allocation_delete_member [0.090773s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_deploy_templates_post_member [0.115102s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_deploy_templates_get_admin [0.062641s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_deploy_templates_get_member [0.078334s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.537853s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_deploy_template_id_get_admin [0.065991s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_deploy_template_id_get_member [0.090651s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd278bb0-9cc0-4cb4-81dc-d622ed747ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd278bb0-9cc0-4cb4-81dc-d622ed747ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1aa09fa9-47a8-4bee-9837-66668247537f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1aa09fa9-47a8-4bee-9837-66668247537f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-033eb25a-8b32-40d7-a295-e41dfee8f9e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "6b8c660c-e94b-47e7-a355-25cb4948c567", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6b8c660c-e94b-47e7-a355-25cb4948c567", "rel": "self"}, {"href": "http://localhost/deploy_templates/6b8c660c-e94b-47e7-a355-25cb4948c567", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-033eb25a-8b32-40d7-a295-e41dfee8f9e4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "6b8c660c-e94b-47e7-a355-25cb4948c567", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6b8c660c-e94b-47e7-a355-25cb4948c567", "rel": "self"}, {"href": "http://localhost/deploy_templates/6b8c660c-e94b-47e7-a355-25cb4948c567", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8756efa-eef1-4b0a-8be7-e0174b6316e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "cf550bb9-cbae-4b82-9acf-906023f6265e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/cf550bb9-cbae-4b82-9acf-906023f6265e", "rel": "self"}, {"href": "http://localhost/deploy_templates/cf550bb9-cbae-4b82-9acf-906023f6265e", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8756efa-eef1-4b0a-8be7-e0174b6316e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "cf550bb9-cbae-4b82-9acf-906023f6265e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/cf550bb9-cbae-4b82-9acf-906023f6265e", "rel": "self"}, {"href": "http://localhost/deploy_templates/cf550bb9-cbae-4b82-9acf-906023f6265e", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153 GET: /v1/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8997a90e-d3d1-4461-a4d8-5d6cce49c2b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "994389d5-1f42-4dda-9694-68691e4c3153", "created_at": "2024-03-06T09:37:28.882959+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153", "rel": "self"}, {"href": "http://localhost/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153", "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-8997a90e-d3d1-4461-a4d8-5d6cce49c2b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "994389d5-1f42-4dda-9694-68691e4c3153", "created_at": "2024-03-06T09:37:28.882959+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153", "rel": "self"}, {"href": "http://localhost/deploy_templates/994389d5-1f42-4dda-9694-68691e4c3153", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a GET: /v1/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6e236db9-ef24-425f-8bd5-487bec7eb8e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "created_at": "2024-03-06T09:37:28.960836+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "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-6e236db9-ef24-425f-8bd5-487bec7eb8e3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "created_at": "2024-03-06T09:37:28.960836+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/dba3db8a-cb38-481d-b8e5-42c1085b6f2a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/4d4ca23d-eb51-436d-a969-b79f35d6fe34 DELETE: /v1/deploy_templates/4d4ca23d-eb51-436d-a969-b79f35d6fe34 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed4bc393-f34e-4681-8d43-62f896edd07f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_delete_member [0.100707s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_chassis_post_admin [0.067279s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_nodes_portgroups_get_admin [0.764723s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_chassis_get_admin [0.078898s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_volume_target_id_patch_observer [0.724501s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_detail_get_admin [0.059878s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.534896s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_detail_get_reader [0.117186s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed4bc393-f34e-4681-8d43-62f896edd07f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1 Openstack-Request-Id: req-3c216737-afcb-47f3-8ae1-b7c70f518aee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "created_at": "2024-03-06T09:37:29.166621+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "rel": "self"}, {"href": "http://localhost/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1/nodes", "rel": "self"}, {"href": "http://localhost/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1 Openstack-Request-Id: req-3c216737-afcb-47f3-8ae1-b7c70f518aee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "created_at": "2024-03-06T09:37:29.166621+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "rel": "self"}, {"href": "http://localhost/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1/nodes", "rel": "self"}, {"href": "http://localhost/chassis/1cfa45ce-296a-4a19-a794-39b1b8b1c6e1/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-2501f80a-893d-44db-9431-1ea15bc57170 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2501f80a-893d-44db-9431-1ea15bc57170 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d0d9ea3b-bd4f-4ad7-887f-c4306710c30a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.281080+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-d0d9ea3b-bd4f-4ad7-887f-c4306710c30a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.281080+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9753cbe0-95bb-4490-a851-6feb121311f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.336462+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-9753cbe0-95bb-4490-a851-6feb121311f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.336462+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-5c6ba439-6df3-40ba-840e-21ed1f42477a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.457618+00:00", "updated_at": "2024-03-06T09:37:29.492235+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_00287_chassis_chassis_id_patch_admin [0.071054s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_nodes_portgroups_get_member [0.396038s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_chassis_id_patch_member [0.079956s] ... ok {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.017768s] ... ok {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.041325s] ... ok {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.064989s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.043272s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_delete_member [0.489983s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.027711s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.039396s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.034032s] ... ok {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.031883s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.473335s] ... ok {0} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.045887s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_detail_get_admin [0.301548s] ... ok {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.026775s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.016353s] ... ok {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.029194s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.058756s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.030167s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_raid_put_reader [0.231960s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.034957s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.022696s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.028518s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.032857s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_nodes_volume_connectors_get_observer [0.432880s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_delete_admin [0.276389s] ... 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_bad [0.025688s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.150831s] ... ok {0} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.018770s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.013067s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.012135s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.012987s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.012063s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.029983s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_console_get_admin [0.375666s] ... ok {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.017681s] ... ok {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.026486s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_delete_member [0.333547s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.038923s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_drivers_get_member [0.396580s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.047113s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_console_put_admin [0.129235s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.065823s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_nodes_ports_detail_get_member [0.179873s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.091541s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.054859s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.049082s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_drivers_get_observer [0.274352s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.016502s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.019542s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.021535s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.019716s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-92a1eed4-e43e-4d0a-9771-95b83421cbba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-92a1eed4-e43e-4d0a-9771-95b83421cbba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88a17f85-5d89-430a-8da9-a54e7d5dfbc3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-88a17f85-5d89-430a-8da9-a54e7d5dfbc3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-09db6d5d-57c2-4428-ac3c-11f32eccf44f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-09db6d5d-57c2-4428-ac3c-11f32eccf44f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c9ec96b4-af79-483a-84a7-762a9c3dd4cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c9ec96b4-af79-483a-84a7-762a9c3dd4cf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4fb4e696-6aaf-4240-aae6-e8bb17d2f7fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fb4e696-6aaf-4240-aae6-e8bb17d2f7fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cc62cbbe-5ca6-44f5-96ab-ab8a02e26954 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cc62cbbe-5ca6-44f5-96ab-ab8a02e26954 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dcdaed7d-76f7-41a3-bf18-70bc64588769 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dcdaed7d-76f7-41a3-bf18-70bc64588769 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-db844aa6-4145-457a-a2c0-37924d709ddf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-db844aa6-4145-457a-a2c0-37924d709ddf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_console_put_reader [0.244563s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.026201s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.021103s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_portgroups_ports_detail_get_admin [0.280349s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.037747s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.043571s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.059396s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.027495s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_vendor_passthru_methods_get_admin [0.285732s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.017947s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.016129s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_properties_get_member [0.441608s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_portgroups_ports_detail_get_observer [0.324890s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_properties_get_observer [0.117848s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_raid_logical_disk_properties_get_admin [0.115396s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.353263s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.034659s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.030649s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.051120s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.029081s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.036463s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_targets_get_observer [0.391770s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.049166s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.059689s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_vendor_passthru_get_admin [0.708951s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.039455s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.040866s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000111s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.013609s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_post_member [0.086491s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.012404s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.015411s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.018226s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_nodes_bios_get_member [0.223847s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.045649s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_put_reader [0.089931s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.022306s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.019029s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.011532s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.022355s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.044761s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.035537s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_delete_admin [0.158882s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.045454s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-247c691b-be16-49d1-b199-8b42f92ed9c1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-6b6d5459-f318-4d24-a655-a435c9507df7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0a1b98b1-9b5c-43a4-8547-2bc80c15235e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5de58e72-05a8-4216-aca1-8966e84ca5cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-82e405df-f39e-4fa4-91e7-9edebf116391 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-89eca09f-8443-4060-ac9c-fad68444b80a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b9082ec5-b79b-4068-9c2d-b2734efcce57 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"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-b939517f-a6c4-4fb7-9ee5-7fdddd766282 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5348c787-62e1-44b4-ba13-867e7dbfe8d2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1d0e14d4-aa34-4329-a653-61ba9fc59a1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-96b3bd18-71db-41f8-b897-694e52a68966 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cd9f62a6-e3c1-4aa9-8eef-de606eeca061 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-86e584e0-0d88-4e46-88d8-5f7a92864ead X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9b211c8f-d722-4b29-ad0c-aae76948f228 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 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-0fffb96d-18bb-4d72-9515-9bfcde627b54 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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'}}] {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_volume_target_id_patch_admin [0.296755s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.022702s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.016800s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.021681s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.025830s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.022688s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_delete_member [0.139403s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.020799s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.045177s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.024005s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.018837s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.015469s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.021975s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_traits_get_member [0.152353s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.027510s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_volume_target_id_patch_member [0.452874s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.032201s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.029729s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_conductors_get_member [0.552400s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.017600s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.018133s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.019813s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-77175869-1ccf-41db-9914-212edf256b09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-77175869-1ccf-41db-9914-212edf256b09 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-336517a4-db97-453d-b5f2-a16ce7c6655e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-336517a4-db97-453d-b5f2-a16ce7c6655e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bd9168f7-4c68-4b6d-8be7-5087908e27c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bd9168f7-4c68-4b6d-8be7-5087908e27c7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0faeed1c-9aac-44f7-aec4-c71bfb8fff17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0faeed1c-9aac-44f7-aec4-c71bfb8fff17 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9076f35d-3cf3-4c6f-9889-bb73f8ccaaaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9076f35d-3cf3-4c6f-9889-bb73f8ccaaaf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f7c50c79-c82a-4581-b0d7-73f9d25c2021 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f7c50c79-c82a-4581-b0d7-73f9d25c2021 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6803eb15-2d69-4daa-a30e-2fea5d65ce7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6803eb15-2d69-4daa-a30e-2fea5d65ce7c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ea2c72e-04e0-4318-ad0b-fe472ebc3b7b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ea2c72e-04e0-4318-ad0b-fe472ebc3b7b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-996c6c4c-c705-4e16-8db6-577a0e650ce5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_delete_reader [0.109107s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.046369s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.018802s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.032926s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.024552s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.034957s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_vifs_get_admin [0.195011s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_delete_observer [0.297880s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.033140s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.022367s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.034463s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.018844s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_detail_get_admin [0.138896s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.054986s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_detail_get_reader [0.100180s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_conductors_get_observer [0.457257s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.105471s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.045604s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_nodes_volume_get_observer [0.340233s] ... ok {0} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.091966s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.020252s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_portgroup_ident_patch_reader [0.202256s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.032007s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.034842s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00200_nodes_volume_targets_get_member [0.173081s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.058944s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_delete_admin [0.103480s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_conductors_hostname_get_admin [0.344165s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_drivers_get_admin [0.153587s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.135149s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-996c6c4c-c705-4e16-8db6-577a0e650ce5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b822451b-7023-4ef3-924a-43db3f1b8bb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b822451b-7023-4ef3-924a-43db3f1b8bb0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-177379e3-50a7-4721-8ba7-132999b0efba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:32.866854+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-177379e3-50a7-4721-8ba7-132999b0efba X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:32.866854+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-a99ac6ec-e37b-4236-93b9-4987258ce148 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:33.012161+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-a99ac6ec-e37b-4236-93b9-4987258ce148 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:33.012161+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c3e14cd6-12e6-4b33-b1f2-72d4ecdfada3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c3e14cd6-12e6-4b33-b1f2-72d4ecdfada3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9393fa53-1623-4e7a-9ae3-a4390377ed1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9393fa53-1623-4e7a-9ae3-a4390377ed1a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_nodes_portgroups_get_admin [0.171004s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.146526s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_drivers_driver_name_get_member [0.185233s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_conductors_hostname_get_member [0.346506s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.112168s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_raid_logical_disk_properties_get_observer [0.115921s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.051275s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.087385s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_nodes_portgroups_get_reader [0.347457s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_vendor_passthru_methods_get_observer [0.136073s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.053814s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_ports_get_member [0.073992s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.040814s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_conductors_hostname_get_observer [0.254045s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.053867s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_ports_get_reader [0.075372s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.061327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_detail_get_reader [0.102869s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.077865s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_post_member [0.330017s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.077300s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00144_ports_port_id_patch_reader [0.121980s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7a127a1-331e-4a96-8e7e-029214d2b6b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-65371bcb-101e-49a7-9ea5-436a50d2adf5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6136c0d5-d1b8-477f-ade7-64df3f3ed6c4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-46190393-6214-432d-9eb4-c408915e7d9c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f44f4323-841a-4c0c-af31-3e574a3227ab X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-93d5cc60-4653-4f08-af1b-4251040effd8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-611de3a2-2fe1-4530-93ee-0bd2ed1e9880 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-67234f72-caa9-4cad-ab27-43eb6487d73b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-135b752b-2836-409d-afa0-a9101c9d0616 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-7dc2ff52-7f09-4ee2-9736-85820bc4cf2b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-60bb1e64-cb4e-442e-b25c-22e17d7124b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-4f7f8a38-c1ac-46f1-aa6c-c0958e861854 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-ceff6e75-9ca9-4a5c-a25b-74c5043b152e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-85097d42-91ad-4a76-8fd4-2951f2b3e83d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-7b33b411-b735-4a1f-9bfa-5cc7dcee3ba8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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'} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_allocations_post_observer [0.261989s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.094653s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.031317s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00247_allocations_allocation_id_get_member [0.120413s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.065089s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.042119s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.042727s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.018555s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54a2894d-0451-4702-8ef9-98c3ef9bc46d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-54a2894d-0451-4702-8ef9-98c3ef9bc46d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6db76dea-d3f5-44b7-9888-8bebcb20c64d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6db76dea-d3f5-44b7-9888-8bebcb20c64d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb234b21-ca2b-4f74-8567-ecd52e5b4933 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cb234b21-ca2b-4f74-8567-ecd52e5b4933 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ad9f65f6-6a42-4c1d-975e-3042a6fe5d5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ad9f65f6-6a42-4c1d-975e-3042a6fe5d5a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42f7a596-72ae-4e25-9add-cc91d93aed21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:34.112033+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-42f7a596-72ae-4e25-9add-cc91d93aed21 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:34.112033+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-24df33a3-4baa-442e-8a7e-6fa7fc11c9ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-24df33a3-4baa-442e-8a7e-6fa7fc11c9ef X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00148_nodes_ports_get_admin [0.262547s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.028473s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.024014s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.037736s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_nodes_bios_get_admin [0.395367s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_allocation_id_get_observer [0.216628s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.039826s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.026770s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.017493s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.016620s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.017879s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_nodes_ports_detail_get_member [0.231786s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.068920s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.034099s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_volume_connectors_get_member [0.099450s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.043122s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.025482s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.024223s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_delete_admin [0.097577s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.021498s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.019588s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.035129s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.022574s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_targets_get_reader [0.102410s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_nodes_allocation_delete_member [0.450737s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.060895s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_allocations_get_member [0.507771s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_delete_member [0.108816s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.069541s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.055940s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.046735s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0868f83-3e94-4638-b40d-6a11d30d78df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e0868f83-3e94-4638-b40d-6a11d30d78df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9f879976-973b-43f8-ae8e-c9dcd7376be6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:34.688789+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-9f879976-973b-43f8-ae8e-c9dcd7376be6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:34.688789+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/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a1737b9-9e4d-4107-a65d-4e7ccb09954f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-9a1737b9-9e4d-4107-a65d-4e7ccb09954f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7f64206-46d9-4080-8d38-7eb7a4fb233a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7f64206-46d9-4080-8d38-7eb7a4fb233a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a019f344-c174-4a13-8678-9a5835e6f1c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a019f344-c174-4a13-8678-9a5835e6f1c3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 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-37ec617f-e496-4b8f-ad86-c19b419b314b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-37ec617f-e496-4b8f-ad86-c19b419b314b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_nodes_volume_get_member [0.162563s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.086022s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_allocation_id_get_admin [0.299367s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_nodes_volume_get_reader [0.156306s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_deploy_templates_get_observer [0.423978s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.166413s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.034801s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_allocation_id_patch_member [0.150939s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.031887s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.022693s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.051541s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.048630s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.040722s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3246876-a5cb-423e-9a17-b59f1365abe6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a0b31e11-1dab-469e-834e-91eac4629b91 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f0073546-30a9-4df0-86f9-88f1463675c6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c6b6a781-06c6-4a9f-a15b-449ddee223fb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4fb167e1-f655-461e-aed0-898e4fd5dce7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0506454b-106c-4a58-a85b-26bd12848000 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-bd9da329-bde9-462f-8faf-932da3118317 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-c6320740-26a2-48a5-87ab-93fb051adcb3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-d45fd4a9-a844-463e-886f-0baac46ae355 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-2f1a290e-7bca-4d02-84b4-9f709c50ea72 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-befac703-38e1-4a47-8913-88dd04da7108 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-52b83066-82a6-4f49-b05d-dae3adcacd8f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/724c7106-27c0-48f5-8ec5-ac108fcaab3a GET: /v1/allocations/724c7106-27c0-48f5-8ec5-ac108fcaab3a {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-34ba1382-a616-4457-b2c8-507524958063 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 724c7106-27c0-48f5-8ec5-ac108fcaab3a could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/3877f84b-e6ec-4816-8d4a-360231df3a08 PATCH: /v1/allocations/3877f84b-e6ec-4816-8d4a-360231df3a08 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-644f3de2-a6cd-4cee-9052-9f1cea0ba554 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3877f84b-e6ec-4816-8d4a-360231df3a08 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/c3017ea0-5e66-4332-8b7b-d6c195ebe571 PATCH: /v1/allocations/c3017ea0-5e66-4332-8b7b-d6c195ebe571 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_allocation_id_patch_observer [0.150963s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.060506s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.024558s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_deploy_template_id_get_admin [0.352952s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.027609s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_targets_get_member [0.403520s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_delete_observer [0.161239s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.033025s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.023630s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.017743s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.014005s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.015839s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.014400s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.013715s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_nodes_allocation_get_member [0.120486s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.012938s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.012720s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.015041s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.012578s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.011396s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.011902s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.012097s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.018162s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.015696s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_nodes_allocation_delete_observer [0.112218s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.015253s] ... ok {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.012071s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.038594s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.014357s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.012858s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_deploy_templates_post_admin [0.110093s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_drivers_driver_name_get_member [0.378817s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_deploy_template_id_patch_admin [0.448822s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_deploy_templates_get_member [0.116955s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00273_deploy_templates_deploy_template_id_delete_admin [0.090141s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_delete_member [0.109526s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_deploy_template_id_patch_member [0.227808s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_chassis_get_member [0.115465s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_properties_get_admin [0.384207s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_delete_observer [0.142642s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_detail_get_observer [0.101754s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.537411s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_chassis_id_patch_member [0.082672s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_post_reader [0.171859s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_chassis_post_admin [0.205493s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.126629s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_chassis_id_get_observer [0.287165s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.215904s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.157622s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.119945s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f8ef043-72e4-4e49-a03d-70f0eaf2c635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1f8ef043-72e4-4e49-a03d-70f0eaf2c635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d174bc5d-7d77-46bb-a375-8563829f9815 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d174bc5d-7d77-46bb-a375-8563829f9815 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1856ade9-f1e1-47d7-9125-f8d21b2e6006 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1856ade9-f1e1-47d7-9125-f8d21b2e6006 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5c908abe-ecce-4511-b159-c15390f576ee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5c908abe-ecce-4511-b159-c15390f576ee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-587765af-dfb0-4c16-a55c-05b9e554658a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-587765af-dfb0-4c16-a55c-05b9e554658a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c3417f5f-f41b-4793-8261-5ac23b366b34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c3417f5f-f41b-4793-8261-5ac23b366b34 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_delete_reader [0.271417s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_conductors_get_member [0.353489s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_chassis_id_patch_observer [0.266053s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b60b5b5-7960-4097-8a08-7e2a293b5ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/ca81d6b0-6b23-48d6-bc96-a9480202da14 GET: /v1/allocations/ca81d6b0-6b23-48d6-bc96-a9480202da14 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-05625822-d1c6-4eb5-9aac-b64dee95d25b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ca81d6b0-6b23-48d6-bc96-a9480202da14 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/a9385b43-4984-4c95-a02c-fa4c1c5eed01 GET: /v1/allocations/a9385b43-4984-4c95-a02c-fa4c1c5eed01 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a797d8bf-f580-4233-ad32-435736936d41 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation a9385b43-4984-4c95-a02c-fa4c1c5eed01 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-a8cee495-95c9-40f7-b205-da87be9a14a5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-582e20ed-6063-4953-93c6-0462aec5d2b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/742912b6-7e04-4076-a135-7f917d1df485 GET: /v1/deploy_templates/742912b6-7e04-4076-a135-7f917d1df485 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5203622d-6004-41ad-aee4-af8053c0b213 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/5a164c4d-ae64-478e-b419-19b36b5e39f1 PATCH: /v1/deploy_templates/5a164c4d-ae64-478e-b419-19b36b5e39f1 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-67d17d51-285c-43b6-a31c-431c9a55622b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/2b2fb380-5472-4906-b4a3-a7681bdd4f25 DELETE: /v1/deploy_templates/2b2fb380-5472-4906-b4a3-a7681bdd4f25 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f057bfa7-4e57-48ec-b117-da506d3427e5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/448e9ff0-a70b-4268-a0cf-c1e611a1377a DELETE: /v1/deploy_templates/448e9ff0-a70b-4268-a0cf-c1e611a1377a GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-39d7013c-8042-436b-9128-decd7d5c1ee2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-c24be14c-8245-4177-be0c-38c8392ee61b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-5529c748-80bd-4a3e-98d9-d55bb415eb46 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-3978ece3-6319-4da6-b01d-e3db41d144df X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2534bbbc-d945-4ae6-82cf-2576037e593f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2534bbbc-d945-4ae6-82cf-2576037e593f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00005_nodes_get_node_admin [0.182690s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00237_conductors_hostname_get_member [0.170134s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.163982s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_delete_admin [0.215205s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_conductors_hostname_get_reader [0.200285s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_delete_member [0.145918s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.301309s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df631791-3e60-4b67-954e-cfed56051953 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.008121+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-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, "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-df631791-3e60-4b67-954e-cfed56051953 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.008121+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-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, "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-099f09c6-4017-47c1-9979-f862784979f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.254479+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-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, "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-03-06T09:37:37.256716+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-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, "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": "3e02389b-2b3f-45c7-94d3-e45f9db600c7", "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-03-06T09:37:37.279595+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": "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/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_00012_nodes_detail_get_member [0.136497s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-099f09c6-4017-47c1-9979-f862784979f7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.254479+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-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, "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-03-06T09:37:37.256716+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-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, "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": "3e02389b-2b3f-45c7-94d3-e45f9db600c7", "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-03-06T09:37:37.279595+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.243226s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.104311s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.078782s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.069642s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_allocation_id_get_reader [0.298463s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.320351s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.212606s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.176968s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.170380s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_deploy_template_id_patch_member [0.204692s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00037_nodes_management_boot_device_get_admin [0.102750s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.111394s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5adff718-10df-4813-a8f9-ca2f2662ab2f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5adff718-10df-4813-a8f9-ca2f2662ab2f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b080667-d478-479b-a794-5f8b69c1fba8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1b080667-d478-479b-a794-5f8b69c1fba8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e1d6c64f-bdc5-4e76-b988-638f06f7d551 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:37.541606+00:00", "updated_at": "2024-03-06T09:37:37.542623+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-e1d6c64f-bdc5-4e76-b988-638f06f7d551 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:37.541606+00:00", "updated_at": "2024-03-06T09:37:37.542623+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-c69e2fa8-a29e-4250-abf6-e65b7d3364d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:37.814736+00:00", "updated_at": "2024-03-06T09:37:37.815763+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-c69e2fa8-a29e-4250-abf6-e65b7d3364d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:37.814736+00:00", "updated_at": "2024-03-06T09:37:37.815763+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/717dc5e7-f7de-4fca-9ab3-09c007fefe3e GET: /v1/allocations/717dc5e7-f7de-4fca-9ab3-09c007fefe3e {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a26c63e-456d-4a05-9094-458516f0a9a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "created_at": "2024-03-06T09:37:37.936109+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "rel": "self"}, {"href": "http://localhost/allocations/717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a26c63e-456d-4a05-9094-458516f0a9a1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "created_at": "2024-03-06T09:37:37.936109+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "rel": "self"}, {"href": "http://localhost/allocations/717dc5e7-f7de-4fca-9ab3-09c007fefe3e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/deploy_templates/84748299-aa70-4263-aadd-3b5ccf0f5574 PATCH: /v1/deploy_templates/84748299-aa70-4263-aadd-3b5ccf0f5574 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dbd4f9e7-45d0-48a6-95a4-c7aa30994fac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-dbd4f9e7-45d0-48a6-95a4-c7aa30994fac X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e94f96c2-da6f-4cf7-ac94-dda97061e44a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_chassis_post_reader [0.180136s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.462500s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_chassis_get_member [0.213531s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5eb2fa0b-8b0d-48d1-9cce-57e205316075 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c3017ea0-5e66-4332-8b7b-d6c195ebe571 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/67050768-e769-4060-ae09-c9d9c11fd70a DELETE: /v1/allocations/67050768-e769-4060-ae09-c9d9c11fd70a GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b1ad005-6115-48e8-8671-4330bdd33e4f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 67050768-e769-4060-ae09-c9d9c11fd70a 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-c5a893ed-4da7-444c-8739-38ef2e9f19d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-339b9f29-e7ee-4d65-b2d6-dca1f05334cb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-59a50608-ec8e-4a6b-a813-b9cad73ecef7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-12218d78-04c5-4d4c-97ca-ed9ae811a152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/48fb12f2-5dac-4a45-86d9-99079f9aa6a6 PATCH: /v1/deploy_templates/48fb12f2-5dac-4a45-86d9-99079f9aa6a6 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7451dcb7-15f2-400e-9c3b-36168e877e5f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/0f46807e-20e7-4efc-84f8-3459a0c10fc2 DELETE: /v1/deploy_templates/0f46807e-20e7-4efc-84f8-3459a0c10fc2 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5cf8f5af-2535-4aa2-84a7-888851df483b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-ac62200e-0622-4c54-895b-bc0246bd0dcf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-3d0c5df4-711d-454b-acd3-f74eba883640 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-bc54a6d7-3156-4996-a878-7a46889cfd64 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-1fe32734-68b0-47be-b803-ad1a600b49d1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-61a69563-9e25-419b-bead-f67cfc933f78 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2230d7bb-dda7-4c6b-adf5-bffe644fb8fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.944057+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-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, "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-03-06T09:37:37.961322+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-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, "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": "cabc7c46-2c8c-4bc6-834b-8651345899e5", "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-03-06T09:37:38.030190+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": "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/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_00011_nodes_detail_get_admin [0.777604s] ... ok 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-6c3778a6-d21a-4e00-89de-bc782d17039b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c3778a6-d21a-4e00-89de-bc782d17039b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-74b17bfa-1b17-4b12-b65d-c6a25d01389e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-74b17bfa-1b17-4b12-b65d-c6a25d01389e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a26c7655-d435-4bac-9fa4-4d5947f09ccc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a26c7655-d435-4bac-9fa4-4d5947f09ccc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1a37556d-a017-4264-b2a2-0e3beb6bb2fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1a37556d-a017-4264-b2a2-0e3beb6bb2fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b58bb9c3-f454-4980-8776-d6de9d763dbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b58bb9c3-f454-4980-8776-d6de9d763dbd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5fc50206-896d-4138-9391-f4b308a4f49d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5fc50206-896d-4138-9391-f4b308a4f49d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-33aa52b4-36bd-4514-abe3-091fc3588931 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-33aa52b4-36bd-4514-abe3-091fc3588931 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-421816c5-b938-4620-932b-a1af7a454551 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-421816c5-b938-4620-932b-a1af7a454551 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.206002s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.195728s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.183178s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.146690s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2230d7bb-dda7-4c6b-adf5-bffe644fb8fd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-06T09:37:37.944057+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-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, "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-03-06T09:37:37.961322+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-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, "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": "cabc7c46-2c8c-4bc6-834b-8651345899e5", "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-03-06T09:37:38.030190+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.116632s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.111887s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.134278s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.075584s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_chassis_get_reader [0.387656s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.248208s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00035_nodes_management_boot_device_put_member [0.167639s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.102504s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.099294s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.324837s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.119998s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_chassis_id_get_reader [0.373529s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.090835s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_provision_put_member [0.160022s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.257643s] ... ok 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-6c58c78b-0a28-4258-81a1-0bacda077a0d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c58c78b-0a28-4258-81a1-0bacda077a0d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bfec152b-4334-4bc4-a372-ce43ca9d19d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bfec152b-4334-4bc4-a372-ce43ca9d19d9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-956c9f0f-ebea-466d-9e1c-1aaa12cc4e6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-956c9f0f-ebea-466d-9e1c-1aaa12cc4e6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16a23370-0c3b-4292-b8b1-e8eadbbb003a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16a23370-0c3b-4292-b8b1-e8eadbbb003a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-67eed7e3-e9a2-42ab-bc67-103df18fee25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-67eed7e3-e9a2-42ab-bc67-103df18fee25 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2eec4b1d-dd8c-4371-ad77-b999d75d74f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2eec4b1d-dd8c-4371-ad77-b999d75d74f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-63ba94ef-03db-4261-b1ee-c644f8903357 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-63ba94ef-03db-4261-b1ee-c644f8903357 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45693901-036a-4577-b78f-3f4757f6161a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45693901-036a-4577-b78f-3f4757f6161a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_raid_put_admin [0.113179s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_provision_put_reader [0.178226s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_chassis_id_patch_reader [0.308028s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.241927s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_raid_put_member [0.163321s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_console_get_member [0.107924s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.112653s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_delete_reader [0.165160s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.049307s] ... ok {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.050415s] ... ok {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.021652s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_console_put_member [0.189951s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_vendor_passthru_get_member [0.215652s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.023133s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.021167s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.059192s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.061814s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.222468s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-019c9f72-78f6-4ac2-8a2d-d9ea3bad53db X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-019c9f72-78f6-4ac2-8a2d-d9ea3bad53db X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e276a602-3670-4f65-b556-02184d29824b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e276a602-3670-4f65-b556-02184d29824b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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": {}} 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-0bfdcee3-9bbe-464e-9f79-8b8e5a83e11b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0bfdcee3-9bbe-464e-9f79-8b8e5a83e11b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0c3069bd-aa50-406d-9629-0ba153b961be X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0c3069bd-aa50-406d-9629-0ba153b961be X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/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-c7759b82-e436-46b7-af03-f54224a25376 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c7759b82-e436-46b7-af03-f54224a25376 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-479be612-6063-48ee-a316-f9c701945e9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-479be612-6063-48ee-a316-f9c701945e9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2dcc9d53-041f-4f34-8f5a-ed0f9beeadd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2dcc9d53-041f-4f34-8f5a-ed0f9beeadd0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-d038056d-3480-407d-85f9-be4cda498b44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d038056d-3480-407d-85f9-be4cda498b44 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_post_reader [0.164177s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_put_admin [0.213423s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.119332s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e94f96c2-da6f-4cf7-ac94-dda97061e44a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2c156ac0-e6d6-4be3-82c3-ae0f8c8e5557 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2c156ac0-e6d6-4be3-82c3-ae0f8c8e5557 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-02616d12-b9a7-41c9-a22d-8f5741eaf115 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-02616d12-b9a7-41c9-a22d-8f5741eaf115 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9a4c484-1026-4df2-bfa8-9d4a12a51577 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:39.405949+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-c9a4c484-1026-4df2-bfa8-9d4a12a51577 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:39.405949+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bb9d0e21-a185-4b57-98b3-30799bd2e1a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bb9d0e21-a185-4b57-98b3-30799bd2e1a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a433173f-a37a-4506-8fee-728adcf802a6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a433173f-a37a-4506-8fee-728adcf802a6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d581105-4244-4882-a7c9-09697df26253 {"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-cfaafacc-8e3a-461d-a25b-8b0959fa1f4a {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/things/ouch {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1531370b-aad1-4ca9-bc73-01495678a944 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} GET: /v1/things {'name': 'foo', 'flag': True} GOT:{'foo': True} POST: /v1/things/ {'three': 'three', 'four': 'four', 'five': 'five'} GOT:Response: 201 Created Content-Type: application/json Openstack-Request-Id: req-9c56a34b-d918-4a66-9d4f-64facaa910de {"three": "three", "four": "four", "five": "five"} POST: /v1/things/ {'three': 'three', 'four': 'fourrrr', 'five': 'five'} {3} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.021550s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.029515s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_delete_reader [0.133916s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_put_member [0.193197s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.034982s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.050779s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.272078s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.026443s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_traits_get_reader [0.087673s] ... ok {3} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.020433s] ... ok Error while running foo: bar. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.019897s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.030333s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_traits_put_reader [0.157489s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_traits_put_member [0.077053s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.026203s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.023329s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.031048s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_trait_put_admin [0.079420s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.016662s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.019513s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.012942s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.226092s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_delete_admin [0.181993s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_trait_delete_admin [0.108950s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_trait_delete_reader [0.066973s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.158464s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.193438s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_vifs_get_member [0.069660s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.018383s] ... ok {3} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.020228s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.018742s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.105175s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.017248s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_delete_member [0.248194s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.070875s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.046334s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.119225s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.046613s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.018180s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.017608s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.017676s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.016645s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.026449s] ... ok 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-4d3d6676-678e-4b1b-bd66-12a243416c1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4d3d6676-678e-4b1b-bd66-12a243416c1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bfe85356-34c6-461f-9c47-67e03585ff8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bfe85356-34c6-461f-9c47-67e03585ff8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f93f3201-52fb-404f-8b63-cc16a745bbee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f93f3201-52fb-404f-8b63-cc16a745bbee X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e2135cfd-535c-4b0c-9432-ee338920f39f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e2135cfd-535c-4b0c-9432-ee338920f39f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-766f4c71-6255-443a-9b27-a9f10576fc79 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-766f4c71-6255-443a-9b27-a9f10576fc79 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-17f870a7-a100-4b48-9cee-cae2beb6a6f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-17f870a7-a100-4b48-9cee-cae2beb6a6f6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-11ae191b-4f95-4095-bcea-8e13afb85f23 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-11ae191b-4f95-4095-bcea-8e13afb85f23 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-276eed64-d774-41e3-ba37-5a033beaef86 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-276eed64-d774-41e3-ba37-5a033beaef86 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_trait_put_member [0.200207s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.023443s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.017386s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.021456s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.021711s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.015553s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c70ff9aa-c448-46fa-80fe-b5c80f92011b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c70ff9aa-c448-46fa-80fe-b5c80f92011b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3d99b938-7d8a-4568-a07a-20cab6107ab9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3d99b938-7d8a-4568-a07a-20cab6107ab9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab551d1a-65f3-4b83-9d1a-786581440cdb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab551d1a-65f3-4b83-9d1a-786581440cdb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f9a065f0-8ac9-4355-9363-349f974a3469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9a065f0-8ac9-4355-9363-349f974a3469 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fe104047-8fb4-488e-ae30-c510f7a9bf45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fe104047-8fb4-488e-ae30-c510f7a9bf45 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a5e9fa51-e545-4279-a74b-6d740a07b22b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5e9fa51-e545-4279-a74b-6d740a07b22b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-95416db0-bebf-449b-be61-057a7c7a289c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-95416db0-bebf-449b-be61-057a7c7a289c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-60955dea-e299-42a2-b259-d309cd64def7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-60955dea-e299-42a2-b259-d309cd64def7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a7de2f55-8a4e-4761-8740-bd5bdff5f673 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00095_nodes_vifs_get_reader [0.404032s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.019386s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.018765s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.015730s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.032821s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_vifs_post_member [0.124591s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.039396s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.032072s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_node_vif_ident_delete_reader [0.064823s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.016123s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.432545s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.035528s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_trait_delete_member [0.352323s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.075282s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.012966s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.016034s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.018194s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.016903s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.026313s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.020387s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_portgroups_get_admin [0.160423s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.028702s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.033838s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_portgroups_get_reader [0.101498s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.072210s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_vifs_post_admin [0.357288s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.048698s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_portgroups_post_reader [0.064510s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.057988s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.463415s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_detail_get_member [0.069755s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.058531s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.070441s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7de2f55-8a4e-4761-8740-bd5bdff5f673 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6b41d0f1-6fec-4598-a60c-ebbc204f6635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6b41d0f1-6fec-4598-a60c-ebbc204f6635 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-52bd4e36-98de-4776-9f37-69b818f61c4b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-52bd4e36-98de-4776-9f37-69b818f61c4b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f21140d8-7bda-44f0-9faf-062e10cd3f33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f21140d8-7bda-44f0-9faf-062e10cd3f33 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0069f71a-2bba-44b8-9093-53409f5dc3b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0069f71a-2bba-44b8-9093-53409f5dc3b9 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c1101938-69c4-495f-9b61-a08eba07597f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c1101938-69c4-495f-9b61-a08eba07597f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3e91f307-4abe-41cc-a91f-96d7a2524c76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:41.979712+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-3e91f307-4abe-41cc-a91f-96d7a2524c76 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:41.979712+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'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_portgroup_ident_patch_admin [0.098720s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.075343s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.062316s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00119_portgroups_portgroup_ident_patch_member [0.146914s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.273195s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.068904s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_delete_member [0.074306s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_portgroups_post_member [0.242906s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.072657s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00129_nodes_portgroups_detail_get_reader [0.074581s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.022093s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.024318s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.209139s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.046727s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_ports_get_admin [0.116387s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.090758s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.084556s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00115_portgroups_portgroup_ident_get_admin [0.199626s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.017905s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.057391s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.029886s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.046714s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.062767s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.036905s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.017259s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_ports_post_admin [0.147895s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.026742s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.068987s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_delete_reader [0.180545s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.083155s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.099176s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.032059s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_ports_post_reader [0.172647s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.059582s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa177d8d-490e-4126-a0f0-f8be9e73e5fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa177d8d-490e-4126-a0f0-f8be9e73e5fa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-07560a5b-48be-4895-8a79-44c229db7012 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-07560a5b-48be-4895-8a79-44c229db7012 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4ce4b686-820a-4a9d-bc03-08eac8bd2231 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ce4b686-820a-4a9d-bc03-08eac8bd2231 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-62eecfdd-3480-4b65-9aa7-d8a963c12b14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-62eecfdd-3480-4b65-9aa7-d8a963c12b14 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f3aac2c9-cba6-4540-b768-c27a31580f1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.430217+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-f3aac2c9-cba6-4540-b768-c27a31580f1c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.430217+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-eb87a54a-cf67-4125-bcb3-ae15a2e90368 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-eb87a54a-cf67-4125-bcb3-ae15a2e90368 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b84ee809-fa7f-43f7-af2f-6e1c359b311b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.816225+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_00127_nodes_portgroups_detail_get_admin [0.136631s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.107580s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.110652s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.047696s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.061801s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.260742s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.053607s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.044807s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.082279s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.043726s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_ports_post_member [0.261110s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_detail_get_admin [0.158612s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.102040s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.050612s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f410c80c-b669-42c9-93d3-571637348fce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f410c80c-b669-42c9-93d3-571637348fce X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ba7dfa4-e756-42e7-a524-9860693644ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ba7dfa4-e756-42e7-a524-9860693644ed X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cfeda195-946a-49ea-a2dc-130da6437313 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-cfeda195-946a-49ea-a2dc-130da6437313 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a78028a-4ffd-4b3e-9797-b7412994a4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.367471+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-0a78028a-4ffd-4b3e-9797-b7412994a4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.367471+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-719db33a-19ef-4192-97f8-626242ee0fbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-719db33a-19ef-4192-97f8-626242ee0fbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c8b3e595-122b-45e6-9fbf-b2a875ca828a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c8b3e595-122b-45e6-9fbf-b2a875ca828a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-10efd713-eb2d-47d8-98e5-e1faabc59ce3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-10efd713-eb2d-47d8-98e5-e1faabc59ce3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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_00139_ports_port_id_get_admin [0.282785s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_delete_member [0.172355s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_delete_reader [0.169332s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.122651s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_port_id_get_reader [0.218108s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.225845s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00142_ports_port_id_patch_admin [0.122472s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.059187s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00149_nodes_ports_get_member [0.199989s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.248349s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.048391s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.114468s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.106316s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.111384s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.072766s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_nodes_ports_detail_get_reader [0.257696s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.026677s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_port_id_patch_member [0.342590s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.122926s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.086479s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.066501s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.049242s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.168931s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.075790s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.076645s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.161123s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_portgroups_ports_get_admin [0.420938s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.050308s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.037317s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.115110s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b84ee809-fa7f-43f7-af2f-6e1c359b311b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-06T09:37:42.816225+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': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bc904df4-3c97-490d-90db-d6cb52e94fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bc904df4-3c97-490d-90db-d6cb52e94fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bf9062f3-720b-4e91-ad4e-41201e7f4965 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.278596+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-bf9062f3-720b-4e91-ad4e-41201e7f4965 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.278596+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-96114852-01ce-4fb8-a186-a845d4d97a93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.416349+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-96114852-01ce-4fb8-a186-a845d4d97a93 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.416349+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-5f8be858-e475-46b8-88a8-3326c5d0b07a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5f8be858-e475-46b8-88a8-3326c5d0b07a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9e15b3b-058a-40f1-b6db-e3a25aad139a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9e15b3b-058a-40f1-b6db-e3a25aad139a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_nodes_ports_get_reader [0.440648s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.071413s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.033157s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.047453s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.136956s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.037376s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.036737s] ... ok {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.071003s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.058844s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.042203s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.055525s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.015879s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.018735s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.019648s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.197659s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_nodes_ports_detail_get_admin [0.497248s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.145443s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4b900367-43f6-4f37-bd63-6a1c326742f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:42.986824+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-4b900367-43f6-4f37-bd63-6a1c326742f8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:42.986824+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-f22d00ca-e1c1-4d9e-b247-1bd77d979272 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f22d00ca-e1c1-4d9e-b247-1bd77d979272 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-24b2ebd1-14a6-4602-9607-7e2bf66876d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-24b2ebd1-14a6-4602-9607-7e2bf66876d0 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-300dab66-9cb5-4153-a8f7-a8a0e3c8050c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-300dab66-9cb5-4153-a8f7-a8a0e3c8050c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c01ed9d2-7363-4969-ac11-9a203f4b63cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.789355+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-c01ed9d2-7363-4969-ac11-9a203f4b63cc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:43.789355+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-6c67a239-6806-4bac-ae6a-63b5d2ffb48b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c67a239-6806-4bac-ae6a-63b5d2ffb48b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-16bde6d5-f95e-4ef8-860a-7d83edfe7ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_portgroups_ports_get_reader [0.441962s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_volume_get_admin [0.428204s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.290362s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00155_portgroups_ports_get_member [0.409192s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_volume_get_member [0.178842s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_volume_connectors_get_admin [0.070205s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_volume_connectors_get_reader [0.060051s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.922017s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_volume_connector_id_get_admin [0.435384s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_connectors_post_admin [0.075074s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_volume_connector_id_get_member [0.231885s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-16bde6d5-f95e-4ef8-860a-7d83edfe7ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b1e164d-167d-4fc4-9c3e-ffb11c553fa5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3b1e164d-167d-4fc4-9c3e-ffb11c553fa5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0246a202-7205-47e0-a323-ea3759abbddc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0246a202-7205-47e0-a323-ea3759abbddc X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3f69c70f-9c15-44f1-a15c-3ec2130dea0d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3f69c70f-9c15-44f1-a15c-3ec2130dea0d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b587645-7230-450f-abd3-75e4e6df20b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6b587645-7230-450f-abd3-75e4e6df20b7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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/b50f0fa1-558c-451a-ae65-2e1ac3fe832b Openstack-Request-Id: req-12445099-e756-4843-953d-ba433ada8b6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "created_at": "2024-03-06T09:37:45.601204+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "rel": "self"}, {"href": "http://localhost/volume/connectors/b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "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/b50f0fa1-558c-451a-ae65-2e1ac3fe832b Openstack-Request-Id: req-12445099-e756-4843-953d-ba433ada8b6e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "created_at": "2024-03-06T09:37:45.601204+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "rel": "self"}, {"href": "http://localhost/volume/connectors/b50f0fa1-558c-451a-ae65-2e1ac3fe832b", "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-4a88369e-53ee-4efb-90df-343eac2927f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00168_volume_connectors_post_reader [0.067054s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_volume_connector_id_get_reader [0.077723s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_volume_connector_id_patch_admin [0.073681s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_volume_connector_id_patch_member [0.088994s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_delete_member [0.124875s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_targets_get_admin [0.067015s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_volume_target_id_get_admin [0.078616s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.953920s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.616077s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_volume_connector_id_patch_reader [0.435556s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4a88369e-53ee-4efb-90df-343eac2927f3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1fdfe6cb-6356-4614-b238-0689d2a7dc9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.719387+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-1fdfe6cb-6356-4614-b238-0689d2a7dc9a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.719387+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-8d6d1088-792b-4404-9ca6-3e8e3aab502d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8d6d1088-792b-4404-9ca6-3e8e3aab502d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-442509c2-3e8f-4b09-89c0-6c196a7ee9a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-442509c2-3e8f-4b09-89c0-6c196a7ee9a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-abd32a2f-3fcf-426f-9065-afdcc79a6864 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-abd32a2f-3fcf-426f-9065-afdcc79a6864 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-564e6b1a-a0fb-42b3-8c79-7a74eda9677e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-564e6b1a-a0fb-42b3-8c79-7a74eda9677e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-44fa9f69-034d-47a6-aa4d-5dd16391ab8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:46.146244+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-44fa9f69-034d-47a6-aa4d-5dd16391ab8a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:46.146244+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 {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00186_volume_volume_target_id_get_reader [0.234998s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_volume_target_id_delete_admin [0.214506s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af0da384-5c7e-454b-b138-e76129bfe484 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-af0da384-5c7e-454b-b138-e76129bfe484 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4c32b85b-33dc-4255-bcb5-d063deaa5152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:44.725408+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-4c32b85b-33dc-4255-bcb5-d063deaa5152 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:44.725408+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-17c77ae6-4c84-445a-8dae-be7d367fec58 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17c77ae6-4c84-445a-8dae-be7d367fec58 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a44550bc-7f23-4a3b-ac90-621c80756f9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.645250+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-a44550bc-7f23-4a3b-ac90-621c80756f9f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.645250+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-fc30779c-c117-4bac-a20e-f95f0f23316a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.969176+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-fc30779c-c117-4bac-a20e-f95f0f23316a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:45.969176+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b3271edf-be6b-4ef3-b6c3-6c3348109b66 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b3271edf-be6b-4ef3-b6c3-6c3348109b66 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_targets_get_member [0.241267s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.450208s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_delete_reader [0.212712s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_targets_post_member [0.245268s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.251368s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_nodes_volume_connectors_get_admin [0.209601s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_targets_post_reader [0.180629s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_nodes_volume_connectors_get_reader [0.170382s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_volume_target_id_patch_reader [0.151744s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.937693s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.296214s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.021737s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.049182s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_drivers_get_member [0.154784s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.038751s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.074264s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_drivers_driver_name_get_admin [0.122118s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.042606s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00196_nodes_volume_connectors_get_member [0.309604s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.113277s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24e80a76-bfb3-4bbf-b217-f2f57cfa6969 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:46.297233+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-24e80a76-bfb3-4bbf-b217-f2f57cfa6969 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-06T09:37:46.297233+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-547233a9-1f74-4552-b16e-5e2d9fb280e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-547233a9-1f74-4552-b16e-5e2d9fb280e2 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45f3c9b2-7b6a-4b91-bfee-5a0ae97b3854 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-45f3c9b2-7b6a-4b91-bfee-5a0ae97b3854 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-97e5f969-9fd3-4660-873e-1c7464032d83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-97e5f969-9fd3-4660-873e-1c7464032d83 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-33c9cbd3-d857-4aab-a7e5-9434bbe85251 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-33c9cbd3-d857-4aab-a7e5-9434bbe85251 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e815db43-cd70-4cd1-855f-707c4ee271b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e815db43-cd70-4cd1-855f-707c4ee271b5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-00251426-a85b-4eef-bb81-06081032918f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-00251426-a85b-4eef-bb81-06081032918f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_vendor_passthru_get_member [0.105490s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_vendor_passthru_get_reader [0.060817s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_post_admin [0.063194s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.105586s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_put_reader [0.058691s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.508830s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_targets_get_admin [0.259924s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.115839s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_nodes_bios_bios_setting_get_admin [0.100715s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.103162s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_nodes_bios_bios_setting_get_member [0.062258s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.085463s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.021241s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_conductors_hostname_get_admin [0.066977s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.082150s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.079832s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.022112s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.071734s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b2e8b1d6-1387-4bc5-bcfa-343dacba0406 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b2e8b1d6-1387-4bc5-bcfa-343dacba0406 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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': 2, 'volume_id': 'test-id2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/ea0128cb-f360-4e9e-9307-a54dfa747087 Openstack-Request-Id: req-e268d803-5807-4c25-95d0-22df0baf5c2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ea0128cb-f360-4e9e-9307-a54dfa747087", "created_at": "2024-03-06T09:37:46.960672+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ea0128cb-f360-4e9e-9307-a54dfa747087", "rel": "self"}, {"href": "http://localhost/volume/targets/ea0128cb-f360-4e9e-9307-a54dfa747087", "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/ea0128cb-f360-4e9e-9307-a54dfa747087 Openstack-Request-Id: req-e268d803-5807-4c25-95d0-22df0baf5c2c X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "ea0128cb-f360-4e9e-9307-a54dfa747087", "created_at": "2024-03-06T09:37:46.960672+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ea0128cb-f360-4e9e-9307-a54dfa747087", "rel": "self"}, {"href": "http://localhost/volume/targets/ea0128cb-f360-4e9e-9307-a54dfa747087", "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-b77eff21-9e00-42ea-810c-fd399d81cdeb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b77eff21-9e00-42ea-810c-fd399d81cdeb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7733e3e3-99f6-425e-8977-d964da347afe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-7733e3e3-99f6-425e-8977-d964da347afe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac115053-7a4c-401c-b978-69fa6335e2bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ac115053-7a4c-401c-b978-69fa6335e2bd X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e98cc7b2-6ae1-4d33-8fcf-89bbc6cfe6b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-e98cc7b2-6ae1-4d33-8fcf-89bbc6cfe6b4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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 {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.064082s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_targets_get_reader [0.315551s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.056302s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.042137s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.258714s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.132555s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c79e7f6e-028c-4deb-a011-8e60b7dcbacf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-c79e7f6e-028c-4deb-a011-8e60b7dcbacf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f38fbb27-21e5-4263-98f6-d98cce0671a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f38fbb27-21e5-4263-98f6-d98cce0671a3 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-420bd8f4-925f-42ba-adcd-1939eb9dd90d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-420bd8f4-925f-42ba-adcd-1939eb9dd90d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1778f398-54f8-4c46-9f63-58ed7836d4f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-1778f398-54f8-4c46-9f63-58ed7836d4f4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b19d224b-84e9-42e2-9679-1b52773a5ab6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:47.863495+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-b19d224b-84e9-42e2-9679-1b52773a5ab6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:47.863495+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-f9de4338-15dc-401a-b015-812f3e809c67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:47.933583+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-f9de4338-15dc-401a-b015-812f3e809c67 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:47.933583+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea002167-6c41-47c2-bd73-e3fdb3c8ecd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:47.992401+00:00", "updated_at": "2024-03-06T09:37:47.993344+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-ea002167-6c41-47c2-bd73-e3fdb3c8ecd4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"created_at": "2024-03-06T09:37:47.992401+00:00", "updated_at": "2024-03-06T09:37:47.993344+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'} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_allocations_post_reader [0.320815s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.028058s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00243_allocations_get_member [0.089102s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.121486s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.071706s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.029802s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_allocation_id_get_admin [0.104067s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_drivers_get_admin [0.398595s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.068551s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.122446s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_allocation_id_patch_admin [0.081605s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.084313s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_delete_member [0.069868s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.116579s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.059109s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.106683s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bfe6e9e9-8f67-4817-83ea-3b2f42c5af03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bfe6e9e9-8f67-4817-83ea-3b2f42c5af03 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-2f94bf2d-bf67-4fb3-ad40-ba8cb26b028a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "6bcc3924-1101-4e9b-9350-c1d58e99b42a", "created_at": "2024-03-06T09:37:48.392954+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6bcc3924-1101-4e9b-9350-c1d58e99b42a", "rel": "self"}, {"href": "http://localhost/allocations/6bcc3924-1101-4e9b-9350-c1d58e99b42a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f94bf2d-bf67-4fb3-ad40-ba8cb26b028a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "6bcc3924-1101-4e9b-9350-c1d58e99b42a", "created_at": "2024-03-06T09:37:48.392954+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6bcc3924-1101-4e9b-9350-c1d58e99b42a", "rel": "self"}, {"href": "http://localhost/allocations/6bcc3924-1101-4e9b-9350-c1d58e99b42a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/c9b0152b-462c-4482-99c6-e3046723f293 GET: /v1/allocations/c9b0152b-462c-4482-99c6-e3046723f293 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59ee13c5-3adc-4ef4-aef3-c11f9df81ca5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "c9b0152b-462c-4482-99c6-e3046723f293", "created_at": "2024-03-06T09:37:48.486980+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c9b0152b-462c-4482-99c6-e3046723f293", "rel": "self"}, {"href": "http://localhost/allocations/c9b0152b-462c-4482-99c6-e3046723f293", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59ee13c5-3adc-4ef4-aef3-c11f9df81ca5 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "c9b0152b-462c-4482-99c6-e3046723f293", "created_at": "2024-03-06T09:37:48.486980+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c9b0152b-462c-4482-99c6-e3046723f293", "rel": "self"}, {"href": "http://localhost/allocations/c9b0152b-462c-4482-99c6-e3046723f293", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/982f4502-cead-41d4-8f3d-f4a3bbb3645a PATCH: /v1/allocations/982f4502-cead-41d4-8f3d-f4a3bbb3645a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20e0fa6b-976f-448d-ad56-d4ba71658944 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "982f4502-cead-41d4-8f3d-f4a3bbb3645a", "created_at": "2024-03-06T09:37:48.571723+00:00", "updated_at": "2024-03-06T09:37:48.614680+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/982f4502-cead-41d4-8f3d-f4a3bbb3645a", "rel": "self"}, {"href": "http://localhost/allocations/982f4502-cead-41d4-8f3d-f4a3bbb3645a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20e0fa6b-976f-448d-ad56-d4ba71658944 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "982f4502-cead-41d4-8f3d-f4a3bbb3645a", "created_at": "2024-03-06T09:37:48.571723+00:00", "updated_at": "2024-03-06T09:37:48.614680+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/982f4502-cead-41d4-8f3d-f4a3bbb3645a", "rel": "self"}, {"href": "http://localhost/allocations/982f4502-cead-41d4-8f3d-f4a3bbb3645a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/fd46db9a-9392-407f-8fda-d3d58d4ee895 DELETE: /v1/allocations/fd46db9a-9392-407f-8fda-d3d58d4ee895 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff4d5a0c-38ae-4706-abf3-a20734772efa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff4d5a0c-38ae-4706-abf3-a20734772efa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0 Openstack-Request-Id: req-68742caf-531a-47ea-a2d8-4499ee0856a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7099386b-198d-428f-beab-e747cf9450d0", "created_at": "2024-03-06T09:37:48.765049+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0", "rel": "self"}, {"href": "http://localhost/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_deploy_templates_post_admin [0.074488s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_deploy_template_id_patch_admin [0.092048s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.125710s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.083890s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_deploy_template_id_patch_reader [0.087543s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.108380s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_detail_get_member [0.061632s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.157135s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_chassis_id_get_admin [0.053477s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_drivers_get_reader [0.525495s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_delete_admin [0.079507s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.168636s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.211469s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.033486s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0 Openstack-Request-Id: req-68742caf-531a-47ea-a2d8-4499ee0856a4 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "7099386b-198d-428f-beab-e747cf9450d0", "created_at": "2024-03-06T09:37:48.765049+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0", "rel": "self"}, {"href": "http://localhost/deploy_templates/7099386b-198d-428f-beab-e747cf9450d0", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path patch /v1/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728 PATCH: /v1/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0bbab20-2e1f-4759-9ed3-2a55a36a9690 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b750a6ee-bad3-44b4-adb6-e50b28c4e728", "created_at": "2024-03-06T09:37:48.801087+00:00", "updated_at": "2024-03-06T09:37:48.856039+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728", "rel": "self"}, {"href": "http://localhost/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728", "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-a0bbab20-2e1f-4759-9ed3-2a55a36a9690 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "b750a6ee-bad3-44b4-adb6-e50b28c4e728", "created_at": "2024-03-06T09:37:48.801087+00:00", "updated_at": "2024-03-06T09:37:48.856039+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728", "rel": "self"}, {"href": "http://localhost/deploy_templates/b750a6ee-bad3-44b4-adb6-e50b28c4e728", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/f065c0ec-5fe5-4501-8581-3d2bb63096f2 PATCH: /v1/deploy_templates/f065c0ec-5fe5-4501-8581-3d2bb63096f2 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f53af28d-8d55-4085-b004-43a3ef83269f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f53af28d-8d55-4085-b004-43a3ef83269f X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39ef7c41-e05f-47e9-b37a-74a61f40d830 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:48.979334+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-39ef7c41-e05f-47e9-b37a-74a61f40d830 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:48.979334+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-4ac4c0bd-dfe6-47e9-9388-89be0ee94f57 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:49.036613+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-4ac4c0bd-dfe6-47e9-9388-89be0ee94f57 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:49.036613+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-38e14500-09cd-425c-8f08-f3f6b9654cbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-38e14500-09cd-425c-8f08-f3f6b9654cbe X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_delete_member [0.058735s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.026513s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.115143s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.065955s] ... ok {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.016048s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.056493s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.034986s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.156600s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.097789s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.086718s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.044105s] ... ok {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.030958s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.027582s] ... ok {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.022890s] ... ok {1} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.040041s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_drivers_driver_name_get_reader [0.560113s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.189314s] ... ok {1} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.057897s] ... ok {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.026523s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.493461s] ... ok {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.026301s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.023342s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.020877s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.181005s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.076231s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.022482s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.019020s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.015728s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.016946s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.024550s] ... ok "max-count" must be a positive value. {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.252321s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.023506s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.020704s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.024948s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_properties_get_member [0.412128s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.013797s] ... ok {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.021058s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.057129s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.176621s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.056190s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.059040s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.130611s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.058218s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.030589s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.022006s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.063488s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.019779s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.029675s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.036373s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.080985s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.018640s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.030459s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_raid_logical_disk_properties_get_admin [0.438195s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.073860s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.015909s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.087265s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.021451s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.015507s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.036954s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.026092s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.016586s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.046651s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.027004s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.037485s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.051589s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.040302s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.065872s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.029002s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.056907s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.060646s] ... ok {1} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.043500s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.017454s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.016272s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_raid_logical_disk_properties_get_member [0.436492s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.013344s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.012509s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.017542s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.022763s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.155564s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.042211s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.046048s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.016308s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.031908s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.021053s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.017100s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.015585s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.022517s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.132718s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.021168s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.020871s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.053027s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.018120s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.024392s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.035989s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.032563s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.055444s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.029180s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.036449s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.016123s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.019014s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.020674s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.012969s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.014083s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.071594s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.029339s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_existing_iso [0.023602s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.025650s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.071722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_delete_admin [0.577486s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.020765s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.021188s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.061613s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.058112s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.019314s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.025443s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.048378s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.033518s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.014456s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.241654s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.015555s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.013774s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.013263s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.017544s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.015434s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.014275s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.016139s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.026877s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.020717s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.038251s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.064520s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.016867s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.017006s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.055814s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.029268s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [2.069891s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.044906s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.137385s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.079976s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.055613s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.038315s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.161411s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.071658s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.085878s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.041620s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.049320s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.046672s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.056844s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.017468s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.019842s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.014084s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.013644s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.029871s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.095457s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.582645s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.014621s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.015589s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.016102s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.013645s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.022286s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.032711s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.112499s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.035375s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.080806s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.030005s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.027826s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.076402s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.366459s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.062136s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.118283s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.115904s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5475adf7-bfca-4fd1-b2dd-f26c54592041 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-5475adf7-bfca-4fd1-b2dd-f26c54592041 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-f7ffd0b0-c902-4bf9-898c-fad846737f0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7ffd0b0-c902-4bf9-898c-fad846737f0e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df382e9b-c11d-4429-9547-377f516c7cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df382e9b-c11d-4429-9547-377f516c7cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6a059817-c92d-45db-beb6-e49177df70a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6a059817-c92d-45db-beb6-e49177df70a8 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ef3024f0-6c69-4a4b-81d4-40a626157a4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ef3024f0-6c69-4a4b-81d4-40a626157a4e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a6f9569a-ea2b-4663-a08b-0f19697486aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-a6f9569a-ea2b-4663-a08b-0f19697486aa X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bce68a40-ce83-4a22-86d6-ce4a9c8236ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bce68a40-ce83-4a22-86d6-ce4a9c8236ea X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b4b680cb-f299-4b51-8733-667d2c5a3fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-b4b680cb-f299-4b51-8733-667d2c5a3fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-bba1e07a-badb-4d24-832e-707ab954de99 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:51.851016+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"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_nodes_bios_get_reader [1.523657s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.069719s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.150385s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.114430s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.050239s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.144107s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.037275s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.106279s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.115440s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.106846s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.142146s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.105386s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.053214s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.037600s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.044883s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.089897s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.135776s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00232_nodes_bios_bios_setting_get_reader [0.807734s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.090075s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.124146s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.153247s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.025360s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.126628s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.145184s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_conductors_get_admin [0.425566s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00242_allocations_get_admin [0.105689s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.149475s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_allocations_get_reader [0.212973s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.204210s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios [0.064921s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_allocation_id_get_member [0.087223s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.147978s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bba1e07a-badb-4d24-832e-707ab954de99 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"bios": [{"created_at": "2024-03-06T09:37:51.851016+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-0b85fbcb-16bd-4812-9882-8dc96d582e85 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:53.685401+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-0b85fbcb-16bd-4812-9882-8dc96d582e85 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"FAKE_SETTING": {"created_at": "2024-03-06T09:37:53.685401+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb814e7a-7565-46f5-a194-ad6924d9ab29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-fb814e7a-7565-46f5-a194-ad6924d9ab29 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88d4cdc0-7c2f-4399-b6f9-7b8d9f730018 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "created_at": "2024-03-06T09:37:54.326336+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "rel": "self"}, {"href": "http://localhost/allocations/17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88d4cdc0-7c2f-4399-b6f9-7b8d9f730018 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "created_at": "2024-03-06T09:37:54.326336+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "rel": "self"}, {"href": "http://localhost/allocations/17c1bfc0-df0e-41a7-bed1-76f5fdcb6f88", "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-6b2f819d-20c3-47c9-8993-9d779479be63 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "82346667-fb96-471b-9a27-9ba5de17543a", "created_at": "2024-03-06T09:37:54.437093+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/82346667-fb96-471b-9a27-9ba5de17543a", "rel": "self"}, {"href": "http://localhost/allocations/82346667-fb96-471b-9a27-9ba5de17543a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b2f819d-20c3-47c9-8993-9d779479be63 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"allocations": [{"uuid": "82346667-fb96-471b-9a27-9ba5de17543a", "created_at": "2024-03-06T09:37:54.437093+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/82346667-fb96-471b-9a27-9ba5de17543a", "rel": "self"}, {"href": "http://localhost/allocations/82346667-fb96-471b-9a27-9ba5de17543a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066 GET: /v1/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0cabbe9-a05c-41cd-a946-3655577ed533 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "72fdef23-894a-4b8c-947a-8d37ca5bb066", "created_at": "2024-03-06T09:37:54.649300+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066", "rel": "self"}, {"href": "http://localhost/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0cabbe9-a05c-41cd-a946-3655577ed533 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "72fdef23-894a-4b8c-947a-8d37ca5bb066", "created_at": "2024-03-06T09:37:54.649300+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066", "rel": "self"}, {"href": "http://localhost/allocations/72fdef23-894a-4b8c-947a-8d37ca5bb066", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/dc930400-3031-4662-8997-4c69a6f3b593 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_delete_admin [0.241752s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.142024s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_delete_reader [0.119014s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.099581s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_nodes_allocation_get_admin [0.116756s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [1.125519s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_nodes_allocation_delete_reader [0.073603s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.254608s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_deploy_templates_post_reader [0.071341s] ... ok {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.063461s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_deploy_templates_get_reader [0.066261s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.026285s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.027257s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.050805s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [2.877713s] ... ok DELETE: /v1/allocations/dc930400-3031-4662-8997-4c69a6f3b593 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16f77300-eabd-4a6a-97ac-57dd925fc88e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16f77300-eabd-4a6a-97ac-57dd925fc88e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/9fcc42fa-497d-45f3-8269-db8dce816dea DELETE: /v1/allocations/9fcc42fa-497d-45f3-8269-db8dce816dea GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6e552c84-89cd-4684-9606-7af4cd33c843 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-6e552c84-89cd-4684-9606-7af4cd33c843 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-95d63900-7c83-4130-9490-9457ee45f41e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1473cb3c-9229-422e-a2b3-70823ea68d9e", "created_at": "2024-03-06T09:37:55.117974+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1473cb3c-9229-422e-a2b3-70823ea68d9e", "rel": "self"}, {"href": "http://localhost/allocations/1473cb3c-9229-422e-a2b3-70823ea68d9e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95d63900-7c83-4130-9490-9457ee45f41e X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "1473cb3c-9229-422e-a2b3-70823ea68d9e", "created_at": "2024-03-06T09:37:55.117974+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1473cb3c-9229-422e-a2b3-70823ea68d9e", "rel": "self"}, {"href": "http://localhost/allocations/1473cb3c-9229-422e-a2b3-70823ea68d9e", "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-ad149196-4112-4e17-849b-5f7f9eedb06d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-ad149196-4112-4e17-849b-5f7f9eedb06d X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0cf9939a-edaf-4f22-8ff8-b4f4b6c02db7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-0cf9939a-edaf-4f22-8ff8-b4f4b6c02db7 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-91dceffb-ea89-440c-a8c0-03b149fbe49a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "1cef9322-3efd-4a48-82fd-1b4837292011", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1cef9322-3efd-4a48-82fd-1b4837292011", "rel": "self"}, {"href": "http://localhost/deploy_templates/1cef9322-3efd-4a48-82fd-1b4837292011", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91dceffb-ea89-440c-a8c0-03b149fbe49a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"deploy_templates": [{"uuid": "1cef9322-3efd-4a48-82fd-1b4837292011", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1cef9322-3efd-4a48-82fd-1b4837292011", "rel": "self"}, {"href": "http://localhost/deploy_templates/1cef9322-3efd-4a48-82fd-1b4837292011", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70 GET: /v1/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-10f027d0-7611-4e03-81c8-26ff4ef7d244 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bb1275b9-d497-47ce-98e3-1115f4bd2e70", "created_at": "2024-03-06T09:37:55.470595+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70", "rel": "self"}, {"href": "http://localhost/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_deploy_template_id_get_reader [0.114141s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.054784s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_delete_admin [0.066005s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.037323s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.165425s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.122745s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.022980s] ... 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.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.059161s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.082823s] ... 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.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.037425s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_delete_reader [0.278950s] ... 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_max_retries_exceeded2 [0.041536s] ... 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 " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.061389s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.034139s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.098264s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.748604s] ... 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 " {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.074098s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.059720s] ... 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 " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.060532s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.052249s] ... 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.040718s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.069051s] ... 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_unchanged [0.070124s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00276_chassis_post_member [0.359997s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.096220s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.118148s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.432514s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.169028s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.123622s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.044235s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.033021s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.126178s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.181349s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.119003s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.169299s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_chassis_id_get_member [0.477026s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.212264s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.032231s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.060574s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.021530s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.018788s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.132595s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.093797s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.194904s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.084811s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.038722s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.033863s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.037559s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.133322s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.041507s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.325394s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.123000s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.133345s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.142036s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.108328s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.235998s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.098836s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.097232s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.046770s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.109134s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.088931s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.219585s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.051921s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.031160s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.020546s] ... ok {2} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.032978s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.024307s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.021948s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.119347s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.041614s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.075581s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.151821s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-10f027d0-7611-4e03-81c8-26ff4ef7d244 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "bb1275b9-d497-47ce-98e3-1115f4bd2e70", "created_at": "2024-03-06T09:37:55.470595+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70", "rel": "self"}, {"href": "http://localhost/deploy_templates/bb1275b9-d497-47ce-98e3-1115f4bd2e70", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/b23e3fab-47b9-4dbc-ae28-0dc7b8f57a11 DELETE: /v1/deploy_templates/b23e3fab-47b9-4dbc-ae28-0dc7b8f57a11 GOT:Response: 204 No Content Openstack-Request-Id: req-eb378809-f423-4fc6-a258-d267604f8676 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-eb378809-f423-4fc6-a258-d267604f8676 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 API ACL Testing Path delete /v1/deploy_templates/050702ff-9593-4afe-9c36-e55fee3bb53c DELETE: /v1/deploy_templates/050702ff-9593-4afe-9c36-e55fee3bb53c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e3028ef-488d-4d0b-a792-ceb3eaf40daf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-3e3028ef-488d-4d0b-a792-ceb3eaf40daf X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-31aa7f0b-0cac-4aee-82e1-a930b9b3459b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-31aa7f0b-0cac-4aee-82e1-a930b9b3459b X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-4664273c-d084-4448-bb7d-f39b704a94eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:56.507287+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-4664273c-d084-4448-bb7d-f39b704a94eb X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:56.507287+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/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-23fd5842-1b25-4073-84b3-370ed8272dec {"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-ce2a0b4d-0152-474c-82e4-4f4d7dfa9b61 {"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-09f55dd3-5dbc-4f51-a541-d4eb04f224bb {"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-17.1.1.dev16/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-17.1.1.dev16/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-c8120f32-6d07-4974-b531-e019382b928f {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} GET: /v1/things {'name': 'foo', 'flag': 'truish'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-74504def-29f2-4f2d-bdc4-532c461cd2e1 {"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_custom_status {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-93bbcf7c-d6f7-44e6-978c-e9911cca4ddd "accepted" {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.160986s] ... ok {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.126922s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.243008s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.090582s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.178341s] ... ok {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.189067s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.051719s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.029182s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.057414s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.030857s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.024486s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.156760s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.053515s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.045374s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.157616s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.062879s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.158849s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.036393s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [1.856900s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.225691s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.216895s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.022276s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.094198s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.042918s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.155661s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.233207s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.168380s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.022042s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.026837s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.182350s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.800097s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.442955s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.330512s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.114086s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.020838s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.149433s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.017998s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.240288s] ... ok {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.014053s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.062499s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.064721s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [1.014138s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.054715s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.036668s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.026940s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.021082s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.148816s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.073676s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.079289s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.934773s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.182274s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.067381s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.041968s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.090000s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.593737s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.063130s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.075684s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.028994s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.043514s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.082742s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.038500s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.345872s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.053596s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.056874s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.045686s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.302010s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.029047s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.145582s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.033817s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.054796s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.039831s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.033277s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.066888s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.043750s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.070529s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.298211s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.090156s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.090573s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.070694s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.363760s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.088320s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.048749s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.192972s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.123050s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.098446s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.105484s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.219723s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.157197s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.088322s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.298000s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.138011s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.070856s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.232588s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.264266s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.066274s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.715211s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.355009s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.353418s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.054246s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.520929s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.085942s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.155240s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.066033s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.178623s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.127344s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.033021s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.021044s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.019946s] ... ok {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.153676s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.025159s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.019607s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.666842s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.030791s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.015921s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.167041s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.493766s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.173807s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.032705s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.057590s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.168117s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.039492s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.024430s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.026950s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.029219s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.100812s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.070440s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.336074s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.055977s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.157101s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.091340s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.649500s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.045526s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.174815s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.078985s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.047499s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.068149s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.395020s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.101964s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.092269s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.059410s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.312594s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.086731s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.087397s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.101332s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.617254s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.069852s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.452603s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.194571s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.252601s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.416278s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.080728s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.282225s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.060379s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.068059s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.659607s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.050770s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.166029s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.082933s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.418348s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.068122s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.083012s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.294272s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.020100s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.181498s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.045368s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.380418s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.170621s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.076135s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.126379s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.069233s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.037576s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.191776s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.146228s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.079933s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.025802s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.059870s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.022395s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.061196s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.079968s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.055926s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.254687s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.054573s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.020090s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.034472s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.143517s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.576723s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.083593s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.149178s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.014667s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.060355s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.269023s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.081027s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.108635s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.040168s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.047779s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.024983s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.021871s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.037300s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.223542s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.039061s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.132209s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.567349s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.443722s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.103013s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.135211s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.131829s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.180678s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.122136s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.106818s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.052979s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.099497s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.461713s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.062225s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.409670s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.107661s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.046949s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.212804s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.198036s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.099950s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.082497s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.068047s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.183758s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.292144s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.170759s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.156833s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.076098s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.254927s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.220977s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [1.156814s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.263112s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.131545s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.245731s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.103057s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.073583s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.195541s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.307204s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.091262s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.022515s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.054245s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.155125s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.233696s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.134076s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.229141s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.274155s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.218270s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.064434s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.773470s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.179379s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.291263s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.150483s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.276273s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.074407s] ... ok {2} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.242107s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.110504s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.187019s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.136027s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.068007s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.140578s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.086903s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.174741s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.182285s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.057088s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.168120s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.845454s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.116655s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.227519s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.081100s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.058112s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.103680s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.147127s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.224327s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.137948s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.102074s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.056135s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.309964s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.488400s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.073874s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.021643s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.021606s] ... ok {1} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.135622s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.061768s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.608417s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.693298s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [1.430927s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.313337s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.130679s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.355336s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.245399s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.222809s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.078984s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.044975s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.032428s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.020792s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.163778s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.032179s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.237817s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.021152s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.019529s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.041931s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.126106s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.039474s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.035948s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.134198s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.039153s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.059819s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.108080s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.211699s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.157561s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.214513s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.115350s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.034970s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.026214s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.348037s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.034401s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.022013s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.041623s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.077772s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.042569s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.412495s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.110775s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.308240s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [2.257962s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.085242s] ... ok {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_empty_db [0.092645s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.161261s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.069487s] ... ok {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_all [0.141567s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.524986s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.265908s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.285598s] ... ok {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.604105s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.250912s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.132190s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.090247s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.073955s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.143363s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.050159s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.022702s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.022990s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.015463s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.026685s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.025706s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.030353s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.484140s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.019448s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.021279s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.047039s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.698605s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.063863s] ... ok {2} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.098601s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.064300s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.044959s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.433097s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.081870s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.078703s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.088128s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.061071s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.019292s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.069662s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.097800s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.122790s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.084489s] ... ok This is bad/usr/lib/python3.9/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.093018s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.081529s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.097296s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.122158s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.094334s] ... ok {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [1.707208s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [1.039647s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.238865s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.042805s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.094700s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.107465s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.050564s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.383475s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.092430s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.085675s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.241763s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.143918s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.092692s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.141403s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.147218s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.298915s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.094915s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.843441s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.196115s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.276452s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.155482s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.261489s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.233850s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.139642s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.246402s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.089245s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.418434s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.406280s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.260581s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.241800s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.200163s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [1.224716s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.291260s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.337893s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.800828s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.092260s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.281572s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.171788s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.113516s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.231819s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.070081s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.553990s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.231283s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.916596s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.206168s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.019067s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.358557s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.027094s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.143817s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.125435s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.065935s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.040585s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.386008s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.080432s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.114023s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.032008s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.049728s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.035958s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.020483s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.018589s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.044239s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.777031s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.299233s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [1.072551s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.205775s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.048705s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.051297s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.181838s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.086127s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.035250s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.047259s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.169753s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.087485s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.015792s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.017434s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.014485s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.020683s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.013846s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.015483s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.012324s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.012324s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.012165s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.011864s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.236013s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.056665s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.812428s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.108244s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.020354s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.025958s] ... ok {2} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.139839s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.045675s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.022267s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.819591s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.047729s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.271298s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.355629s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.292116s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.039725s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.045854s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.037641s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.036599s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.031591s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.234056s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.039349s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.024263s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.019277s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_and_user_data_as_dict [0.617119s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.026374s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.019860s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.030687s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.026732s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.021494s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.020732s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.025320s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.671722s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.024828s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.020780s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.031220s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.023558s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.030885s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.021805s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.020950s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.442971s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.057131s] ... ok {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.016399s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.025095s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.014585s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.020056s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.154498s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.069855s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.121283s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.049679s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.065722s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.045168s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.621082s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.028143s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.027634s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict [0.854404s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.062236s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.450250s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.143307s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.052793s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.034057s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.025739s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.029328s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.211069s] ... ok {2} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.058264s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.036985s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.019906s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.020510s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.021019s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.015855s] ... ok {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.012578s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.033547s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.035108s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.639006s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.376795s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.148063s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.049534s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.055175s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.074529s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.233307s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_network_data [1.028597s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.154288s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.087191s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.234224s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.604266s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.115271s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.172956s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.281925s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.250017s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.104308s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.103166s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.085422s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.163955s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.263387s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.099234s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.795681s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.128714s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.152935s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.200288s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.156356s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.151204s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.216179s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.063735s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.143653s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.070679s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.059758s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.075612s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.239385s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.147549s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.696717s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.068488s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.239712s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.075954s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.061999s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.053295s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.166197s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.611509s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.060734s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.067907s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.404995s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.236816s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.601539s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.157386s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [1.118506s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.177718s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.241049s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [1.109452s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.092714s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.528958s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.070393s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.097346s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.399650s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.361379s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.121020s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.053691s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.305967s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.345431s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean_attribute_error [0.422300s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [1.312905s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.150114s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.125790s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.539981s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.154691s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.658921s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.228851s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.373229s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.617876s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.205800s] ... ok {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.153072s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.060464s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.292940s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.128484s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.074201s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.086899s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.138698s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.724678s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.118006s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.195347s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.398623s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.285769s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.251785s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.302050s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.144695s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.267393s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.120606s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.446629s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.145807s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.907791s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.302154s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.155629s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.065982s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.209342s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.336378s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.259655s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.410334s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.870310s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.289813s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.239730s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.191059s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.079223s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.889943s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.201416s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.047981s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [1.001173s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.091542s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.058678s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.210269s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.104667s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.251309s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.225419s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.157170s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.136662s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.131011s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.079721s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.297848s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.174646s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.122251s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [1.336206s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.479783s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.337334s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.395701s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.103056s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict_with_meta_data [0.102866s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.205336s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_vendor_data [0.102249s] ... ok {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.077468s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.124014s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.079798s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.144014s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.073408s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.179121s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.229944s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.270333s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.286014s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.193252s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [4.417255s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.170908s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.201234s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.666691s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.107785s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.351257s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.103405s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.158099s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.309624s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.162812s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.546240s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.114233s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [2.425641s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.330373s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.057572s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.328415s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.181381s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.132174s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.184163s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.627107s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.775635s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.253809s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.060322s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.380105s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.213015s] ... ok {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.220495s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.664994s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.075561s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.162749s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.303773s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.162407s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [1.375594s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.167811s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.460646s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.181438s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.156864s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.236994s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.112249s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.126458s] ... 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_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.085689s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.060304s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.049847s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.368633s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.165645s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.244658s] ... 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.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.105979s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.140957s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.199804s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.062957s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.144048s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.058579s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.390381s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.057678s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.093355s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.199812s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.307800s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.264420s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.211381s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.327078s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.131723s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.361739s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.178979s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.171126s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.253233s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.456458s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.078812s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.068703s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.053502s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.254919s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.118215s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [1.028181s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.393164s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.153401s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.204543s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.154883s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.146111s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.351111s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.527266s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.370680s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.346314s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.046254s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.269992s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.160602s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.148794s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.505416s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.213332s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.197424s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.109633s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.227958s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.121471s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.269024s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.770080s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.110299s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.070749s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.322273s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.434014s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.210876s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.447021s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.147959s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.244830s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.123730s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.318633s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.096425s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.157475s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.115729s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.182741s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.114100s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.048728s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.239455s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.033032s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.023824s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.151673s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.045561s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.146657s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.375085s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.066194s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.104784s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.110642s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.134869s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.257461s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.053662s] ... 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_power_state_sync_max_retries_gps_exception [0.092416s] ... 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.DoNodeRescueTestCase.test__do_node_rescue_errors [0.212447s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.068574s] ... 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.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.371348s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.044015s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.282103s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_glance_image [0.207089s] ... 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_vendor_detection [0.211614s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.053983s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.430102s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.379600s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.044858s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.063989s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.362514s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.312545s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.098659s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.240390s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_not_iwdi [0.305375s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.244045s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.160769s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.168160s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.022131s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.019130s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.042462s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.172509s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.048041s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.407096s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.114776s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.135245s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.047476s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.972366s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.084535s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.131420s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.079717s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.068039s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.036012s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.032150s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.041810s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.250715s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.048007s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.079751s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.054061s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.050822s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.074347s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.139422s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.092523s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.036746s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.687931s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.065541s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.050875s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.050857s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.042071s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.022822s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.045842s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.276550s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.046203s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.043710s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.506621s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [1.128810s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.041063s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.041116s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.028160s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.034530s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.034165s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.093355s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.265529s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.076555s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.057924s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.092521s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.193463s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.030452s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.380082s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.024120s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.281486s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.035053s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.023546s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.029861s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.018430s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.021777s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.128002s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.021708s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.017138s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.214762s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.092294s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.115128s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.094914s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.071352s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.111352s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.050639s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.493908s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.125805s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.014419s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.239052s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.073112s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.141977s] ... ok {1} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.104804s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.041475s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.090764s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.055792s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.111889s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.135441s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.051653s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.028318s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.094442s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.116904s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.111819s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.081781s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.112142s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.132220s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.111326s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.146785s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.096530s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.177047s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.502924s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.168488s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.121638s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.460345s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.118218s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.099009s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.244599s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.087317s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.187716s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.147882s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.184220s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.116444s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.210259s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.243007s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.047594s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.016561s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.023352s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.575366s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.113766s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.048020s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.057739s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.046925s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.026211s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.144480s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.063193s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.045586s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.148709s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.077038s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.467692s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.035176s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.420545s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.185382s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.049983s] ... 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.UpdatePortTestCase.test_update_port_address_maintenance [0.099788s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.086260s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.045518s] ... 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.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.038859s] ... 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.VendorPassthruTestCase.test_vendor_passthru_sync [0.335377s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.096647s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.212016s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.238648s] ... 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_wrong_provision_state_on_upgrade_lock [0.054617s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.115649s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.115219s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.171094s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.079773s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.136249s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.110491s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.089736s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.188524s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.068135s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.046699s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.240667s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.095678s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.076222s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.334105s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.216119s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.375949s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.042680s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.182519s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.063635s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.170166s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.066235s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.089612s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.045083s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.077201s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.302789s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.027306s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.253537s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.180547s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.083712s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.077705s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.041358s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.055222s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.137251s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.062758s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.050950s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.093518s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.336489s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.059242s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.301686s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.038407s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.023737s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.101648s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.030019s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.065456s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.033106s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.041214s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.215912s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.074605s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.060389s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.036102s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.058693s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.049279s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.293673s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.038932s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.049990s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.044151s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.049576s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.043062s] ... ok {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.119697s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.071642s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.367085s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.095755s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.063559s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.316553s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.059548s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.088499s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.055570s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.044290s] ... ok {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.131299s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.019154s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.019354s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.119830s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.020722s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.237697s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.020561s] ... ok {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.054536s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.048175s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.059340s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.202183s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.208076s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.046506s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.043692s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.036573s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.131814s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.048316s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.058025s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.346885s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.256104s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.690226s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.141709s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.328857s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.076847s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.194017s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.078949s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.367524s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.126242s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.315420s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.180966s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.105808s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.206851s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.217323s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.072819s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.088475s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.051465s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.113619s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.449937s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.071514s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.121225s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.090402s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.099251s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.085148s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.028957s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.024533s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.046374s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.536320s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.160523s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.029017s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.013020s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.024014s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.086072s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.148075s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.478253s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.045690s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.038185s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.065248s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.043131s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.068794s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.346049s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.087942s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.045052s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.244249s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.080000s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.070954s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.029292s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.060765s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.068904s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.044630s] ... ok {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.027156s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.080604s] ... ok {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.013917s] ... ok {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.029164s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.017403s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.025976s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.023404s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.110892s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.048498s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.072480s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.022704s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.059944s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.021335s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.015644s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.024540s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.033231s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.582337s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.041396s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.021925s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.033705s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.082801s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.041777s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.053425s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.247176s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.046484s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.062236s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.043289s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.039374s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.093416s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.144175s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.015951s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.256317s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.048642s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.102345s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.061289s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.040162s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.081969s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.076792s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.179637s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.060746s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.061471s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.248901s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.174020s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.174986s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.097444s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.355669s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.189857s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.054795s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.123706s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.058818s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.075823s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.205164s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.080602s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.125739s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.151640s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.058028s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.029823s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.188150s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.061403s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.045102s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.036939s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.058416s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.236978s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.052248s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.190583s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.026906s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.080786s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.040506s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.183336s] ... ok {3} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.038687s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.101017s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.054139s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.039758s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.178860s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.047900s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.210179s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.095475s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.123125s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.182968s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.070166s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.241555s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.165582s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.218140s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.091270s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.040633s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.305420s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.296364s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.115681s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.043669s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.139276s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.222876s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.223143s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.137517s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.056753s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.096925s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.021687s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.517169s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.074682s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.116127s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.162111s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.134395s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.177272s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.061869s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.024412s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.019364s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.153316s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.020930s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.024121s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.035527s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.018376s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.099011s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.019610s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.026363s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.018169s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.256549s] ... ok {2} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_already_direct_exists [0.035958s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.123249s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.091078s] ... ok {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.130818s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.060677s] ... ok {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.046629s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.190560s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.268997s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.120319s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.020864s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.111941s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.040032s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.028876s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.023435s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.198027s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.064352s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.304895s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.095080s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.104410s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.187737s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.026682s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.018343s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.016377s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.044042s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.019166s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.215615s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.024038s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.304360s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.032151s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.045880s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.023836s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.332222s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.157855s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.030886s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.019375s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.043947s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.225183s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.043251s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.037399s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.143423s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.035797s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.213442s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.034770s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.046774s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.106999s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.047159s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.057693s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.191175s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.121571s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.399039s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.098106s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.040818s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.158652s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.130086s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.159946s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.233612s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.117520s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.277100s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.197677s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.333767s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.085105s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.107918s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.315199s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.141172s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.213720s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [1.180061s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.103129s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.091026s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.153057s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.197787s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.097352s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.053080s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.206249s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.517285s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.056626s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.107990s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.064543s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.031192s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.075565s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.055974s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.036442s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.030724s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.083653s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.042301s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.039208s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.033584s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.132270s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.066887s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.091160s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.091362s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [1.764683s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.638420s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.193860s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.240508s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.096621s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.201778s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.206553s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.054282s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.182731s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.074059s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.159635s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.143814s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.014727s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.103783s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.057822s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.239429s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.076411s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.161497s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.148097s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.160560s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.096773s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.104631s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.093075s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.216610s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.166299s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.102225s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.151122s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.162478s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.062013s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.115775s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.081637s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.148105s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.089996s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.015506s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.146107s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.101056s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.170536s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.097111s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.160923s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.071948s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.262731s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.107824s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.507334s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.087770s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.114710s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.082610s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.089214s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.027880s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.031157s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.062371s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.073766s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.022598s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.146842s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.056875s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.049449s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.071022s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.146491s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.038769s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.029085s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.393670s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.027094s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.017373s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.115636s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.044806s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.179024s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.091204s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.072887s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.132128s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.046895s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.022618s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.027843s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.107473s] ... ok {3} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.058456s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.196573s] ... ok {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_force_migration [0.051921s] ... ok {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_by_2 [0.084094s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.180190s] ... ok {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible [0.062557s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.516699s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.169475s] ... ok {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible2 [0.042354s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.141082s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.135554s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.172785s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.078444s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.213899s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.163923s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.149947s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.050899s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.233227s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.139562s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.158503s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.345615s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.229705s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.144454s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.145327s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.121214s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.040204s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.287454s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.084883s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.142971s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.087347s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.584846s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.236780s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.139284s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.224692s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.051649s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.102308s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.155697s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.040177s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.131367s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.145186s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.102253s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.401603s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.187082s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.094618s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.242253s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.104546s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.028807s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.222547s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.102754s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.168937s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.051166s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.090648s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.150728s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.126197s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.140928s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.122650s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.193772s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.260743s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.104462s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.101505s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.034880s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.100556s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.230970s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.179697s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.124501s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.251853s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.060215s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.101971s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.177254s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.240080s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.113070s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.060209s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.069638s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.094384s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.082084s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.076695s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [1.451503s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.049353s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.119792s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.063267s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.065184s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.118384s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.131265s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.087498s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.017954s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.051080s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.081512s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.072168s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.027871s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.334299s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.139113s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.081913s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.068094s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.191692s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.076132s] ... 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.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.048813s] ... 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.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.050661s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.151161s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.262990s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.040127s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.093807s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.239390s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.089098s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.093561s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.186136s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.089460s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.197308s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.176739s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.017877s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.139478s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.107672s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.090379s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.128458s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.123416s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.166880s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.075374s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.156163s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.083636s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.131107s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.154570s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.091407s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.095381s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.085753s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.264398s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.073661s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.221800s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.127173s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.064225s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.105085s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.056709s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.056411s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.038873s] ... ok {1} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.022316s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.147113s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.044043s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.046082s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.062005s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.039599s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.130198s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.045563s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.147862s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.053848s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.047589s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.131093s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.076224s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.055242s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy_attribute_error [0.054942s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.231812s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.022878s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.017384s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.029860s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.028710s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.028487s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.137789s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.029361s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.998840s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.109222s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.038306s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.107050s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.289655s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.168937s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.056488s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.027236s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.024035s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.105585s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.031508s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.081679s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.019634s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.049152s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.020293s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.018249s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.018843s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.052446s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.197375s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.024272s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.025441s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.127597s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.060885s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.029999s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.034162s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.032563s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.055174s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.028142s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.034955s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.073734s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.033181s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.185858s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.068641s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.036168s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.056288s] ... ok {1} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible3 [0.173425s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.158424s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.157954s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.121626s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.055804s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.048139s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.025719s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.074035s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.086852s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.064529s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_https [0.027441s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_http [0.026486s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.020963s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.124691s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.036628s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.302543s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.026935s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.145064s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.024417s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.020999s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_support_auth [0.038696s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.136559s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.094831s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.058528s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.059585s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.018567s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp_ir_ir [0.049547s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.047945s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.156734s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.060377s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.038000s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.069169s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.051159s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.036914s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.354488s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.077318s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.078845s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.118964s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.067195s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.043528s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.129721s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.050338s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.020594s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.051313s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.057359s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.029245s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.028540s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.109353s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.076964s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.056767s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.036963s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.032879s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.092082s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.025501s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.047711s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.119231s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.103120s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.046264s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.075715s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.063044s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.039208s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.061156s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.046281s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.144302s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.082309s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.023994s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.043481s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.028784s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.018026s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.019276s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.078440s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.021223s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.019820s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.296908s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.022745s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.179293s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.077596s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.031440s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.019779s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.050010s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.023206s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.028608s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.025302s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.030166s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.097698s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.193529s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.028940s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.190665s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.019545s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.022456s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.027232s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.067688s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.019252s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.109420s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.033530s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.145094s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.078940s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.051483s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.037866s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.084329s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.038000s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.125112s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.085764s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.113822s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.121375s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.368790s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.025085s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.208581s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.050226s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.197598s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.089235s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.066244s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.077552s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.094102s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.030612s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.033247s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.156207s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.031062s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.038533s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.123117s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.042734s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.057700s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.040626s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.044359s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.228124s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.083437s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.049331s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.072875s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.086134s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.053773s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.063043s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.074084s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.036657s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.087871s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.069882s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.033039s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.122354s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.051434s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.401675s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.032149s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.039328s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.038641s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.070717s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.047377s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.033916s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.084763s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.036386s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.239671s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.037260s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.060852s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.038919s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.038118s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.118172s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.041207s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.104302s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.039031s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.038153s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.080629s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.040629s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.063213s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.038049s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.067129s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.068336s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.108389s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.118260s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.094710s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.069405s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.342998s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.182671s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.557272s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.083366s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.140090s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.242842s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.091716s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.025492s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.113064s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.082854s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.095672s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.224315s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.047926s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.042503s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.112103s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.036251s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.048329s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.023723s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.036383s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.029886s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.033589s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.042533s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.046617s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.251427s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.044793s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.048202s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.092870s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.090133s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.077458s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.057612s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.076473s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.056792s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.038271s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.269878s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.064287s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.077705s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.102163s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.086065s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [3.030612s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.242506s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.096460s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.076994s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.146780s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.089667s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.041633s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.174504s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.048594s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.021048s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.026856s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.075760s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.068551s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.076939s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.034327s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.091222s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.092013s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.434905s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.069127s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.168325s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.153191s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.146339s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.112654s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.097208s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.105164s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.066730s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.157947s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.104845s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.059790s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.660642s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.197829s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.106464s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.070509s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.030158s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.113233s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.106113s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.171179s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.054080s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.037455s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.037228s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.105011s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.043313s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.065751s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.297301s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.146899s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.079662s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.154330s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.100129s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.073896s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.225407s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.061891s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.168122s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.037707s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.159106s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.209963s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.301058s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.164956s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.122309s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.080565s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.103618s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.321508s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.276350s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.165395s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.735402s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.101815s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.135727s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.162701s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.316128s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.246871s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.052623s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.263550s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.068085s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.078746s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.227049s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.081335s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.183728s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.100325s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.083079s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.054913s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.103010s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.121333s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.094587s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.308431s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.155035s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.040333s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.115899s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.087181s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.082431s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.121854s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.070519s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.093563s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.096619s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.034262s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.083651s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.081091s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.208748s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.022954s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.153029s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.103310s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.113805s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.032443s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.195267s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.055273s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.215035s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.080504s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.046409s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.044215s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.035575s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.018984s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.136711s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.036624s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.053676s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.031636s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.029845s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.274647s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.050724s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.277998s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.025921s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.020004s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.113237s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.057943s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.065724s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.089388s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.070715s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.235414s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.033337s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.028074s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.100494s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.029424s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.039121s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.032476s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.076901s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.358252s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.049567s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.240002s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.080177s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.046271s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.025699s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.037499s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.027137s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.044762s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.048668s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.026251s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.046158s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.263390s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.039845s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.066319s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.031319s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.042041s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_locked [0.026915s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.272518s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.060427s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_locked [0.050771s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.040190s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.089886s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.028236s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.208574s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.027846s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.108548s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.145658s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.041741s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.285637s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.218967s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.028251s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.058946s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.072593s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.053855s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.073758s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.069120s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.162007s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.067482s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.028549s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.019362s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.037226s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.084054s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.327944s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.106892s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.073383s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.029116s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.027105s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.040580s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.032758s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.156022s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.158105s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.075272s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.093499s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.059633s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.018810s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.030924s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.086360s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.043894s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.075539s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.367681s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.043338s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.103910s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.049452s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.086566s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.073028s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.044626s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.043170s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.094742s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.067750s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.037463s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.077250s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.046348s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.062498s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.055658s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.025166s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.104634s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.051459s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.051938s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.032840s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.052431s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.069321s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.071847s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.067708s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.192729s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.062409s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.032613s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.023720s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.067244s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.047106s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.049031s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.045727s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.043837s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.211815s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.072729s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_auto [0.072886s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.058476s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_disabled_sessions_cache [0.055557s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.050351s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.121380s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.058611s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_basic_session_caching [0.087487s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.060543s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.130296s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_address [0.088287s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.044440s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_access_error_retry [0.048176s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.109184s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.111007s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.073853s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.124316s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.080853s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.030707s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.049412s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.052984s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.033373s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.075874s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.120256s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.062834s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.043507s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.067958s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.069922s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.244402s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.109388s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.089925s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.059679s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.019145s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.084929s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.028376s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.036565s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.039328s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.127705s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.072744s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.048218s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.122863s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.049258s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.104861s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.092570s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.451227s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.069862s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.087018s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.083958s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.029249s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.085747s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.048553s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.045188s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.043425s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.051935s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.172616s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.086261s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.046314s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.092296s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.045395s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.040982s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.068961s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.150255s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.057369s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_neither_iwdi_nor_glance [0.037864s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.062320s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.072162s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.064339s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.031527s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.065700s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.045168s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.104633s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.048728s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.093414s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.040884s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.036970s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.081461s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.087454s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.111886s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.051503s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.082567s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.049700s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.086452s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.059478s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.089550s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.067822s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result [0.083608s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.073455s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.044415s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.108243s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.274749s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.099772s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.116859s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.070701s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.072468s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.028133s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.036563s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.054794s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.045463s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.262283s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.053955s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.038939s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.117627s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.058296s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.112258s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.044707s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.043202s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.051044s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.113054s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.040109s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.113670s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.082077s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.081884s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.187044s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.079371s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.124884s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.026768s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.130388s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.095044s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.044875s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.023991s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.077215s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.045344s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.077934s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.021546s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.051665s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.065138s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.166058s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.072556s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.075601s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.289121s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.055148s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.107113s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.066494s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.147954s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.053302s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.036272s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.089225s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.235611s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.077764s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.104891s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.049644s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.088345s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.195823s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.030889s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.023392s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.071593s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.025546s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.066377s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.069912s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.028925s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.053180s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.023827s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.068800s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.023174s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.134608s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.116107s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.021106s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.153844s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.022798s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.061306s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.046152s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.091326s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.018757s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.074510s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.050023s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.094365s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.064283s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.199732s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.033954s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.083010s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.041524s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.042288s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.035934s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.067340s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.066338s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.156865s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.048635s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.039680s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.068632s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.046649s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.058832s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.016028s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.292780s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.013360s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.012910s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.070074s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.016852s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.054774s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.058524s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.053480s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.160986s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.163736s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.038113s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.100278s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.126730s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.286883s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.151196s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.068276s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.133451s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.021628s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.024235s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.019308s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.087198s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.018830s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.226054s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.036007s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.048912s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.044887s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.076139s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.056013s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.196601s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.064519s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.082556s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.085307s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.065417s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.059541s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.086957s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.092892s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.036096s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.206058s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.055719s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.116477s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.042146s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_old_command [0.143350s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.047557s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.030229s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_reboot [0.084627s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.204895s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.053627s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.159328s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.048304s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.090159s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.067609s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.061172s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.065135s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.059266s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.073330s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.151070s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.064307s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.064653s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.069913s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.148783s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.151299s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.053489s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.078932s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.061927s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.116985s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.042035s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.086499s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.044755s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.060556s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.023799s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.075985s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.031198s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.022965s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.051853s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.027241s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.055028s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.044892s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.157884s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.045131s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.070569s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.052244s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.121701s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.060508s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.032398s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.086816s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.037157s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.031764s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.041990s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.080861s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.033919s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.087781s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.072275s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.048011s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.122953s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.047295s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.034662s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.021698s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.018924s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.094386s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.031451s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.081102s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.015626s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.014277s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.020596s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.198112s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.081689s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.027352s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.034655s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.045203s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.052593s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.065411s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.051082s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.063063s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.018761s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.138182s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.030855s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.048114s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.117405s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.115339s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.152330s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.195720s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.142494s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.377152s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.064308s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.030597s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.034456s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.041132s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.105279s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.032602s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.034270s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.052053s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.039134s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.073644s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.103660s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.250771s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.072657s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.065305s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.052564s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.129987s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.049982s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.107730s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.090015s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.107226s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.067032s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.055529s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.063829s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.192401s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.066005s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_iwdi [0.094000s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.089698s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.117970s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.117516s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.092386s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.064887s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.070842s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.460010s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.184972s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.045936s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.066129s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.071916s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.105989s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.039657s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.031520s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.041664s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.116234s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.065814s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.084572s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.094500s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.047213s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.060096s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.049132s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.070682s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.055998s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.049298s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.042843s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.069852s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.065510s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.034103s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.029761s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.019336s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.031570s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.033786s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.021969s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.050956s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.069340s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.046840s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.055006s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.019677s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.046593s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.022664s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.070799s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.100672s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.094738s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.124814s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.079297s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.097794s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.099820s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.069617s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.029261s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.029191s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.031551s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.062134s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.042786s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.068936s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.583649s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.089970s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.050108s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.109173s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.057537s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.018104s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.096043s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.185693s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.180810s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.096380s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.064094s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.069097s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.219323s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.062871s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.064257s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.021631s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.134024s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.098197s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.075572s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.038668s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.043913s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.295839s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.073465s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.076285s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.163781s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.076334s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.103970s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.146060s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.096199s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.094685s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.186590s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.161852s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.108346s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.109491s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.168498s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.057227s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.064420s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.162611s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.132681s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.097347s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.044043s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.131535s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.043437s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.051768s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.102059s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.081473s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.052070s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.145563s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.118103s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.105134s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.238256s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.122657s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.094987s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.057492s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.101732s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.113746s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.060242s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.026160s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.142831s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.072102s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.086097s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.080215s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.149058s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.058995s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.113269s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.093505s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.062840s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.104024s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.092645s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.148182s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.175908s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.254881s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.051297s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.143359s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.351059s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.129561s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.111883s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.156281s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.244865s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.136559s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.050552s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.074165s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.101385s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.149383s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.802341s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.143107s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.089129s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.192268s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.128586s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.073151s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.204344s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.036274s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.027817s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.082305s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.191746s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.106232s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.649796s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.141248s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.231765s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.114199s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.158299s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.127811s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.131819s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.160659s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.113322s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.275171s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.136811s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.136803s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.059874s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.070760s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.274425s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.190485s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.127874s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.064586s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.069879s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.151080s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.085377s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.216893s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.139796s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.041746s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.041171s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.041672s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.156500s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.098088s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.144037s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.335916s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.066304s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.183414s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.049826s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.093121s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.054096s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.041338s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.050181s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.107887s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.062313s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.098572s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.402599s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.108884s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.018629s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.070883s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.155949s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.043142s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.065230s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.100287s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.059598s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.013497s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_http [0.027093s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.084340s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_https [0.026744s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.354566s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.018326s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.017957s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.021517s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.019960s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.077540s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.022227s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.021359s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.018045s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.018311s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.017647s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security_ [0.023413s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.133238s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp_ir_ip [0.024261s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.030141s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.029464s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.071563s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.293848s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.045680s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.040181s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.051752s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.089179s] ... ok /builddir/build/BUILD/ironic-17.1.1.dev16/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited new_port.create() RuntimeWarning: Enable tracemalloc to get the object allocation traceback {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.314289s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.108440s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.081396s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.070472s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.031886s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.027576s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.045148s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.033475s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.033971s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.033799s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.532950s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.047119s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.036520s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.152260s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.136653s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_https [0.216200s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.127364s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_https [0.043580s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.023663s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.043680s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.025466s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_ignoring_snmp_security [0.028276s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.024040s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.019051s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.021002s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.020627s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.283231s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.022957s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.022952s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.319171s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_not_support_auth [0.026976s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp_in_ip [0.024089s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp_in_ir [0.023199s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.129209s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.093168s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.029843s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.030554s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.031938s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.329542s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.088901s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.030151s] ... ok /builddir/build/BUILD/ironic-17.1.1.dev16/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited new_port.create() RuntimeWarning: Enable tracemalloc to get the object allocation traceback {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.265319s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.040286s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.056157s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.042972s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.029582s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.061442s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.447072s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.075551s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.052340s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.352853s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.040162s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.028673s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.128118s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.106263s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.032827s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.037089s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.031859s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.032340s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.023302s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.051167s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.339865s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.033195s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.019070s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.028353s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.028212s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.039069s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.026540s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.041179s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.073400s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.654688s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.057707s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.064600s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.381414s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.051794s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.176442s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.038002s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.037562s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.041737s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.040567s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.189238s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.050353s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.159514s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.419680s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.271748s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.133251s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.254720s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_has_stage2_id [0.227840s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.287729s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.157440s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.216649s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.156145s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.307612s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.316440s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.102128s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.168618s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.130378s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.151153s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.194975s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.214005s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.141914s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.108776s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.173363s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.159866s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.130631s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.240561s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.128252s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.338261s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.240550s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.348340s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.107647s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.103476s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.129002s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.352668s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_http [0.170923s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_http [0.096150s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.242022s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.159304s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.175381s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.377401s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.652415s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.213098s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.147368s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.301991s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.054248s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.067277s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.266107s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.054693s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.143908s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.047323s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.112298s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.021270s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.045774s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.164837s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.229246s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.335643s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.041200s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.042422s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.026165s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.022131s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.201299s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.023790s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.049216s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.221912s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.136928s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.062599s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.056325s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.067592s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.041274s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.055179s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.039040s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.156763s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.063182s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.039962s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.364149s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.038294s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.072519s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.202325s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.091466s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.246632s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.086099s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.168523s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.084304s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.106034s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.054984s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.150608s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.067781s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.083535s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.048406s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.253008s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.208107s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.090424s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.055644s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.145256s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.052284s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.358765s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.219944s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.266558s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.143676s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.161267s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.049532s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.138194s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.082370s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.133875s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.067926s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.429223s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.113161s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.148258s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.040122s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.037702s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.105199s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.072829s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.114133s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.166107s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.319753s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.087896s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.180323s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.149210s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.088699s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.102869s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.164290s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.066583s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.364296s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.168286s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.231214s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.070198s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.126497s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.193830s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.064211s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.380301s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.143682s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.128906s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.199061s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.252396s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.041167s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.113200s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.208375s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.210979s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.115152s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.195555s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.053573s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.044244s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.248683s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.060166s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.147851s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.082250s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.224158s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.122004s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.088914s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.026056s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.057211s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.056342s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.123713s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.077910s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.104748s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.103231s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.071384s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.076436s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.044200s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.050767s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.079143s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.379739s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.112626s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.061932s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.115316s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.040731s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.097815s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.046052s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.072150s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_not_redfish [0.044647s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.046597s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.114627s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.084521s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.069332s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.123808s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.131336s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.077928s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.084412s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.171371s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.038213s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.040913s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.090371s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.024165s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.095144s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.414281s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.122464s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.128190s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.321681s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.048879s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.089434s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.037566s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.120197s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.081589s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.066632s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.042654s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.041438s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.026882s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.134228s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.181082s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.029560s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.040143s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.031607s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.105366s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.114434s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.037829s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.035185s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.039233s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.101926s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.032572s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.047824s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.175641s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.049558s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.081640s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.049459s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.036998s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.108449s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.039174s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.122384s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.073561s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.046336s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.343264s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.097011s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.135219s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.047611s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.044504s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.026876s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.139050s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.059060s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.233958s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.050747s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.098166s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.089088s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.071088s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.208622s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.050646s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.062088s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.259809s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.050351s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.084448s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.211242s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.110462s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.062211s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.167418s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.162805s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.110942s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.076873s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.101029s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.084292s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.118155s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.093327s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.213108s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_session [0.086997s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_session_reuse [0.056000s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.205162s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.384998s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.174974s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.096774s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_username [0.120074s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.087614s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.114005s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_expire_old_sessions [0.084802s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.033857s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.042042s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.123884s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.103651s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.094449s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.075767s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.020422s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.110266s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.022610s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.047150s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.032159s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.055530s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.041774s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.068023s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.021239s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.052117s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.196789s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.087122s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.074624s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.077908s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.054895s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.062856s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.178963s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.285253s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.151270s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.097955s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.146345s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.214624s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.125128s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.103335s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.152914s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.112988s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.114927s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.036932s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.186241s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.175104s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.140341s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.187920s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.085798s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.044119s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.164550s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.051576s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.042225s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.037892s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.221981s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.205404s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.133667s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.144205s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.184728s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.188989s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.046235s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.177804s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.053411s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.077116s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.071935s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.051387s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.043528s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.136540s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.044581s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.092579s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.077241s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.678373s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.061379s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.138414s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.079126s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.085942s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.064310s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.106019s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.067349s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.166938s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.082541s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.108340s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.113645s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.146838s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.072565s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.038229s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.280271s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.065719s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.155919s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.049949s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.113118s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.055388s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.044348s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.028654s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.156094s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.045347s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_compat [0.042002s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.228852s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.060450s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.047303s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.181672s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.035948s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.161442s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.017185s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.018346s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.016483s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.049495s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.047393s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.094263s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.039189s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.234538s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.035774s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.053757s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.051983s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.124704s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.077892s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.081864s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.052978s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.035737s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.405901s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.051354s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.052457s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.046083s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.041617s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.252566s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_fail [0.197352s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.041899s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.049787s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.129051s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.061417s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.050752s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.059931s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.038431s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.311915s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.040656s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.048177s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.094828s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.087021s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning [0.079792s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.068838s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.428503s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.091746s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.052130s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.075131s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.089989s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_no_step_running [0.049407s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.075887s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.188257s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.054525s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.038376s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.121086s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.163258s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.211548s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.102519s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.073964s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.089459s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.257054s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.045217s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.173030s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.055778s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.052655s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.447479s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.078949s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.133158s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.078557s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.202989s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.062653s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.605059s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.046075s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.049027s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.114196s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.033349s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.045937s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.092053s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.037787s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.047193s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step [0.093760s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.061811s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step_in_other_step [0.075333s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.045511s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy [0.491074s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.069174s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.098538s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.047277s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_decomposed_steps [0.086970s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.116077s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.076521s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.090086s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.070662s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.097267s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.044218s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.081429s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.052294s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.145224s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.040932s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.058239s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.035482s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.043439s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.087764s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.140976s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.081004s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.077132s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.017348s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.013409s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.045767s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.017194s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.012795s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.015529s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.013898s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.014912s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.075708s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_wait [0.033977s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.047895s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.017852s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.027819s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.033812s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.029037s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.287002s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_notfound [0.038667s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.022157s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.027871s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_not_redfish [0.037348s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_notfound [0.029405s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.034553s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.092542s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.041220s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.061811s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.048131s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.080261s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.043766s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.030883s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.041760s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.031121s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.023030s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.069006s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.073935s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.024566s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.032650s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.065314s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.037823s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.016981s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.041932s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.017395s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.012946s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.035488s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.082514s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.044740s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.042448s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.055496s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.041535s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.031233s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.031708s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.025150s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.032662s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.053987s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.033617s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.068323s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.039032s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.034530s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.067289s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.055424s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.069103s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.096126s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.029598s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.017089s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.862533s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.319988s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.115994s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.089934s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.031576s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.114659s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.050774s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.038763s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.183849s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.111411s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.130066s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.182585s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.075363s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.127559s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.032859s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.027917s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.026422s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_basic [0.132146s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.095327s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.071031s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.034486s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.023777s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.031528s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.105920s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.024176s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.066541s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.048159s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.048290s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_multiple_systems [0.234614s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.056728s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.091564s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.170069s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.034264s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.114140s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_attribute_error [0.241772s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.039025s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.057525s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.138400s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.127207s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.071055s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.029020s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.066552s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.171346s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.243761s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.050138s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.070441s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.047788s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.022529s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.027056s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.234266s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.223821s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.050348s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.019787s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.016828s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.016280s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.019009s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.162031s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.032547s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.067912s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.026745s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.115921s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.027657s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.053140s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.379149s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.111707s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.204810s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.074218s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.268670s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.267949s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.139377s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.200646s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.502972s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.919471s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.020015s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.065002s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.027822s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.079287s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.018564s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.125399s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.052320s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.420280s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.558682s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.092906s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.061363s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.015729s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.055478s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.057344s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.020063s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.029653s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.053088s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.108394s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.117846s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.464153s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.303931s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.057515s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.072528s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.374861s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.408618s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.180058s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.417952s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.377109s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.205397s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.260704s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.229714s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.133960s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.407252s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.022926s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.113562s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.131747s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.079598s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.237122s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.048361s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.024621s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.021511s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.031073s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.076007s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.185968s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_raises_memory_guard [0.049045s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.062677s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.058841s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.088662s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.021438s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.066196s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.470954s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.022919s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.266104s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.032950s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.026815s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.020568s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.143317s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.076210s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.044394s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.091542s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.042309s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.019133s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.049232s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.316567s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.031898s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.046249s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.128725s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.023954s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.060694s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.037695s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.090526s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.037483s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.030578s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.045624s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.042733s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.337042s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.169020s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.149268s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.123852s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.049349s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.026324s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.089081s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.324036s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.194477s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.101880s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.043372s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.167204s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.240200s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.117068s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.114394s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.071300s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.057753s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.118672s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.039812s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.041244s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.176193s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.058294s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.091680s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.202000s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.805352s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.513196s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.037817s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.024222s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.022598s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.074589s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.022966s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.022132s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.050190s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.037374s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.086959s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.014348s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.021461s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.013901s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.103162s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.122870s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.303708s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.445356s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [1.695802s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.071457s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.548054s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.125636s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.072089s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.025171s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.032671s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.032436s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.029543s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.021275s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.040526s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.024739s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.038786s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.516910s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.254819s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.473535s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.381917s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.383018s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.554801s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.306570s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.251834s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.270519s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.127911s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.206815s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.334285s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.089999s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.057199s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.069648s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.163233s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.132460s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.078945s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.151482s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.098604s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.198468s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.036031s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.026906s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.027425s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.024831s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.050422s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.032412s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.019872s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.021973s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.027555s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.020343s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.021198s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.019385s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.529029s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.018621s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.019469s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.018350s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.023171s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.018579s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.018397s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.024140s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.025709s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.100073s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.365726s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.161275s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.389729s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.115791s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.141560s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.090884s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.109458s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.045822s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.440742s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.056333s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.220167s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.248168s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.401893s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.131964s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.028186s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.033402s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.408497s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.259518s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.207116s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.201951s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [1.893509s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.431214s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.252554s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.198397s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.134543s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.135156s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.132879s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.468683s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.339835s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.157888s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.180093s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.435734s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.424499s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.264425s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.418892s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.430052s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.221415s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.392491s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.306753s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.326295s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.505023s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.164402s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.048319s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.098679s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.108580s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.097158s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.630429s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.253341s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.834427s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [1.541689s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.898453s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.810320s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.315590s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.720097s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.316791s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.264410s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.400370s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.833968s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.429601s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.428186s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_should_write_image_false [0.351760s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.187379s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.447311s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.487055s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.481467s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.355294s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.422075s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_with_smartnic_port [0.354307s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.368574s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.292646s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.303170s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.126714s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.781081s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.136406s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.077613s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.199097s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.151869s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.151252s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints_iinfo [0.112031s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.022115s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image [0.169143s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.103252s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_cpu_arch [0.050170s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.048232s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image_bfv [0.148781s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_sparse [0.046757s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.094447s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.071146s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image_out_of_memory [0.199773s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.106251s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.113356s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.147425s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.202181s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.082785s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.187510s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.051586s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.125679s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.131980s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.067345s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.062020s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.090546s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.162520s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.102336s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.412814s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.124964s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.049011s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.041680s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.284675s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.157336s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.587157s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.654095s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.341088s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.498031s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.330207s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.385935s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.373044s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.103951s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.392517s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.252518s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.429099s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.657823s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.770976s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.535126s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.643700s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.387600s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.226674s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.749211s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.210243s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.368504s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.754089s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_has_stage2_id [0.370759s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.204377s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.207284s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.470371s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.356038s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.126958s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_interface_mismatch [1.522661s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.324120s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy [1.308021s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.422032s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.276639s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.310035s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.247660s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.337975s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.063909s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.055297s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.277362s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.641728s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.165257s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.075926s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.093136s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.092599s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.056919s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.064094s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.021097s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.538495s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.219423s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.158914s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.530792s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.323387s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.323776s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.252912s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.093692s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.234513s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.110351s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.158224s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.270864s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.046990s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.181568s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.102948s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.248717s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.023683s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.186609s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.033383s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.172278s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.223605s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.066479s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.208509s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.180438s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.320419s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.039377s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.087875s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.039665s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.099412s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.076069s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.207773s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.172775s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.148172s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.116569s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.341277s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.146781s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.311494s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.050762s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.121530s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.214225s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.117773s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.082050s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.220372s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.304347s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.197377s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.122205s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.287027s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.069523s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.105385s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.032813s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.017653s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.015516s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.018756s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.032556s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.014810s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.013424s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.015360s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.017061s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.020262s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.026926s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.106085s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.277036s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.015547s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.250335s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.013534s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [1.317019s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.163002s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.066716s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.109654s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.184038s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.107711s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.076264s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.073368s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.270545s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.143571s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.155132s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.014164s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.098098s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.161188s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.022477s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.106058s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.099862s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.076454s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.020174s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.207442s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.055724s] ... 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_inspector [0.140707s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.149888s] ... 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.164691s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.126623s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.081382s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.028499s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.172040s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.096957s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.119139s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.220338s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.128364s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.225204s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.149466s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.112674s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.312051s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.062367s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.208545s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.139231s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.176019s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.151592s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.118127s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.185032s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.043236s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.216831s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.033553s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.105515s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.054219s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.255149s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.118912s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.121618s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.180888s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.123222s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.025281s] ... ok {3} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.183301s] ... ok {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.090295s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.179073s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.079497s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.158326s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.085103s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.034709s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.097006s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.189468s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.062796s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.168503s] ... 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.264409s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.200352s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.122537s] ... 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_utils.UtilsTestCase.test_normalize_mac_unicode [0.064730s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.024627s] ... ok {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.278365s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.037925s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.019184s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.018623s] ... 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.118567s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.065384s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.056009s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.156019s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.175189s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.028256s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.157184s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.094645s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.027155s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.116983s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.020183s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.221205s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.053702s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.064085s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.015668s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.126198s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.054828s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.085131s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.019480s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.183705s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.038487s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.083516s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.052687s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.044392s] ... ok {2} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.262144s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.102971s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.034487s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.121474s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.123412s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.015524s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.031751s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.063853s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.212196s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.071810s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.083101s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.044027s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.051130s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.034686s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.115163s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.037033s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.046647s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.161682s] ... ok {2} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.156350s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.061455s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.052351s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.460184s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.016708s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.116246s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.046032s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.052985s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.023601s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.023658s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.024823s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.040722s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.189081s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.034014s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.021050s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.081898s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.057647s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.021074s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.030517s] ... ok {2} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.105375s] ... ok {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.057867s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.029299s] ... ok {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.024423s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.019314s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.015647s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.014839s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.021169s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.017999s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.097206s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.020484s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.040481s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.058412s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.076754s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.066565s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.024292s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.064720s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.083605s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.089629s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.018741s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.049093s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.030511s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.057575s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.068390s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.079446s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.095131s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.085360s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.037482s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.061622s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.053214s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.023939s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.114282s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.045355s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.112747s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.021880s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.076697s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.036383s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.153897s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.049483s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.174580s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.091498s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.090620s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.029603s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.084791s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.043198s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.040647s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.074257s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.078725s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.131263s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.071622s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.099384s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.080696s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.062516s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.080290s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.088052s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.044812s] ... ok {2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.027337s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.028609s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.104081s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.030629s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.041952s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.070473s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.116956s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.148229s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.020174s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.025282s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.087155s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.068667s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.075756s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.098258s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.029892s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.028912s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.075602s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.028849s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.016112s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.094510s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.067435s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.018700s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.025589s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.092477s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.061565s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.045123s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.044905s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.062284s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.069367s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.089042s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.035196s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.052405s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.036870s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.030585s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.102294s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.064849s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.069256s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.068410s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.029497s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.029792s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.085023s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.080161s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.104095s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.050584s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.088472s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.069573s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.016912s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.030224s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.057029s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.016927s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.016863s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.016890s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.084071s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.027446s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.036340s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.035330s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea1cd5c4-0d92-4644-9634-206511f0e3ae {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long Failed validating 'maxLength' in schema['properties']['four']\", \"debuginfo\": null}"} GET: /v1/things/no_content {} GOT:Response: 204 No Content Openstack-Request-Id: req-5d93f200-0170-4646-8e62-7020f5660eba DELETE: /v1/ GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-1a4dfc29-f7e1-4156-859a-1696418aa217 X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} Running batches of 50 until migrations have been completed. Data migrations have completed. Malformed option m1.key1value1 Node(allocation_id=None,automated_clean=None,bios_interface='fake',boot_interface='ipxe',chassis_id=None,clean_step={},conductor_affinity=None,conductor_group='',console_enabled=False,console_interface='fake',created_at=2024-03-06T09:40:20Z,deploy_interface='fake',deploy_step={},description=None,driver='fake-hardware',driver_info={'deploy_kernel': 'glance://deploy_kernel_uuid', 'deploy_ramdisk': 'glance://deploy_ramdisk_uuid', 'rescue_kernel': 'glance://rescue_kernel_uuid', 'rescue_ramdisk': 'glance://rescue_ramdisk_uuid'},driver_internal_info={'is_whole_disk_image': False},extra={},fault=None,id=1,inspect_interface='fake',inspection_finished_at=None,inspection_started_at=None,instance_info={'boot_iso': 'http://1.2.3.4:1234/boot.iso', 'capabilities': {'boot_option': 'ramdisk'}},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='deploying',provision_updated_at=2024-03-06T09:40:20Z,raid_config={},raid_interface='fake',rescue_interface='fake',reservation='fake-mini',resource_class=None,retired=False,retired_reason=None,storage_interface='noop',target_power_state=None,target_provision_state=None,target_raid_config={},traits=TraitList,updated_at=2024-03-06T09:40:20Z,uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123,vendor_interface='no-vendor') {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.077557s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.017209s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.033484s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.030625s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.114416s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.072244s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.014783s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.011809s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.017105s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.026257s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.082837s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.065094s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.019257s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.023330s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.013019s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.014319s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.043754s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.077920s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.040999s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.084231s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.025054s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.018032s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.015075s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.013414s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.018496s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.027985s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.016155s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.037991s] ... ok {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.085994s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.039212s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.389035s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.023817s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.099664s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.026373s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.024598s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.020407s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.016844s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.031460s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.028924s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.068670s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.027819s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.070077s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.058689s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.089489s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.097333s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.182040s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.097693s] ... ok GET: /v1/chassis {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Basic realm="Baremetal API" {"error":{"message":"Authorization required","code":401}} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} 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.72'}, '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 15 of 15 objects. func2() migrated 20 of 20 objects. func1() migrated 10 of 15 objects. Data migrations have not completed. Please re-run. {'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-20b15fc2-d170-409f-83d3-583991a3c637', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '192.168.240.33', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} {'deploy_kernel': ('deploy_kernel', '/tmp/tmpv_si3gqy/tmpkwl_lm_k/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpv_si3gqy/tmpkwl_lm_k/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_unknown [180.184938s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.085736s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.060323s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.038363s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.035320s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.037850s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.037212s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.036019s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.033485s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.040848s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.035203s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.078989s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_polling [0.044711s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.035421s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.012755s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.014533s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.013370s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.011238s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.011622s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.011629s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.017009s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.017437s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.011883s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.012286s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.011980s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.011710s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.015274s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.035339s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.041521s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.012387s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.028608s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.014892s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.013630s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.030398s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.031662s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.014448s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.012819s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.012938s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.022122s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.020838s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.020907s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.150727s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.014223s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.014045s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.020151s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.038538s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.038231s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.021682s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.021967s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.025042s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.025044s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.016719s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.013066s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.012596s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.012553s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.029430s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.013867s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.015507s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.015725s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.016283s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.015385s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.015565s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.015700s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.030388s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.015875s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.016060s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.018241s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.015477s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.111458s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.012904s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.011572s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.011972s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.011243s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.011330s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.011305s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.011593s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.043644s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.034213s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.042155s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.016053s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.013876s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.015938s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.018601s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.015933s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.013064s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.012395s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.012453s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.011127s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.014405s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.015624s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.015297s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.012961s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.012580s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.012410s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.013102s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.024218s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.030625s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.035691s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.026545s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.027201s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.027245s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.027306s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.025692s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.019840s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.030087s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.042683s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.033187s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.548085s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.019460s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.013626s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.014354s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.012482s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.012829s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.012386s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.012142s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.031089s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.039774s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.030799s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.030836s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.029973s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.030268s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.031192s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.031501s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.035291s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.031811s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.032758s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.031667s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.032441s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.031043s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.030860s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.031703s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.064090s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.063451s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.026301s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.030119s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.019657s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.020719s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.018765s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.020781s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.018941s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.018028s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.018642s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.018121s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.018637s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.019422s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.018253s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.018859s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.020588s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.020735s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.019440s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.021814s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.020710s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.021093s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.020303s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.019666s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.025267s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.020553s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.030550s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.030571s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.024913s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.026385s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.030267s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.029364s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.031818s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.024102s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.042734s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.062120s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.046694s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.041558s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk_with_kernel_arg [0.056687s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.052400s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.054799s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.063559s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.082771s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.092369s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.053680s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.038693s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.026265s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.026550s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.027298s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.029467s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.031084s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.032086s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.033854s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.183191s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_with_deployment_reboot [0.040277s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.034986s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_fast_track [0.037858s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot [0.040397s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_netboot [0.032648s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_with_smartnic_port [0.047181s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.025135s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image_no_root [0.029417s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.063499s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.072721s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.070017s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.040427s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch [0.016450s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.015755s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.015871s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image_no_root [0.015775s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.011913s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.015796s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.015253s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.018628s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.012377s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.020594s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection [0.011695s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.011061s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.010945s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.011133s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.010846s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.010712s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.010853s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.034320s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.070180s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.034783s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.038278s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.049084s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.062363s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.028574s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.028153s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.026648s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.026954s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy_with_smartnic_port [0.104430s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare [0.044944s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate [0.031250s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.040257s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.041325s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.044187s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.043269s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.040365s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.014976s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.014950s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.013967s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.014603s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.013259s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.015481s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.014911s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.013700s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.014149s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.014606s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.013497s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.014056s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.014795s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.015159s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.015877s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.013621s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.018740s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.014611s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.017423s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.033838s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.032839s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.029874s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.028509s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.029230s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.031433s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.014627s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.013701s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.013682s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.012837s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.013161s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.013013s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.144386s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.013585s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.013354s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.013536s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.013484s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.013045s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.013736s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.012996s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.013171s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.015928s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.015556s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.028250s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.030320s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.031452s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.031391s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.012056s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.011512s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.013494s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.016539s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.011587s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.012083s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.011185s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.010996s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.013568s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.012120s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.011997s] ... 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_no_vendor [0.032500s] ... 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.031347s] ... 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.031355s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.026956s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.028144s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.028927s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.027688s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.016655s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.027429s] ... ok {0} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.029479s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.030600s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.031032s] ... ok {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.028488s] ... ok {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.027979s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.014484s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.013749s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.013256s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.013201s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.012176s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.015756s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.015929s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.016082s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.015931s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.015487s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.015372s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.031740s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.014409s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.014132s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.012951s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.014077s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.013386s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.012902s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.013655s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.013192s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.013996s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.015095s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.015321s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.015091s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.014397s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.013833s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.013828s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.022605s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.028968s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.018769s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.019099s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.011603s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.012040s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.010916s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.013242s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.013822s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.014222s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.016002s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.014420s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.014762s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.014173s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.014063s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.014242s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.014078s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.014001s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.015184s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.015506s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.016799s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.015952s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.015700s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.014832s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.015276s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.014079s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.014958s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.016811s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.015777s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.014404s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.014172s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.015951s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.010916s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.011426s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.011127s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.010846s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.011503s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.013049s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.010983s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.012260s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.011806s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.015221s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.013772s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.010869s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.011112s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.012015s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.011658s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.011917s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.012141s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.012035s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.011453s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.011999s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.013235s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.012821s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.013038s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.013517s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.013336s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.012801s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.012461s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.013332s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.022506s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.013242s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.013050s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.014109s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.013383s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.013341s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.013993s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.013680s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.013486s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.014206s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.014562s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.013893s] ... ok {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.011973s] ... ok {0} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.012304s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c6ba439-6df3-40ba-840e-21ed1f42477a X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.457618+00:00", "updated_at": "2024-03-06T09:37:29.492235+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c41d6d80-e7dd-4d12-8707-e52fce677634 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.525172+00:00", "updated_at": "2024-03-06T09:37:29.573971+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-c41d6d80-e7dd-4d12-8707-e52fce677634 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-06T09:37:29.525172+00:00", "updated_at": "2024-03-06T09:37:29.573971+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-174f0f8a-145b-4f2d-9376-6af076894eb6 {"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-ef4c9afd-c361-4e7a-9ba5-923d40bee73a {"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-54dc2791-6ac5-4dc9-94f8-941ad14deeb0 {"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-eaae7db7-6f67-4b54-b49f-1eeb17b116ed {"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-17.1.1.dev16/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-17.1.1.dev16/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} GET: /v1/things/response_content {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d08683e-9839-46ab-ab2c-31ef127dbc97 "nothing" 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.72'}} func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result_fails [180.155921s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.050700s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image_compat [0.047657s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.068334s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.038274s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.028808s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.038266s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.038843s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.039992s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.031418s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.035059s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.032938s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.031897s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.033328s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.018442s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.038182s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.037251s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.033624s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.033053s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.032638s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.042869s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception [0.040451s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.039384s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_running [0.031991s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.043583s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.037628s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.039812s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.035941s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.041448s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.161916s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step [0.044203s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_refresh [0.045687s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_reboot_to_instance [0.046264s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.045291s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.034910s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.030948s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.032171s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.031795s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.029088s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.030256s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.174575s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.033171s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.014124s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.012547s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.016227s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.017682s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.030627s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.028115s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.016464s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.015738s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.012362s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.011882s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.012252s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.014796s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.013325s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.014622s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.017269s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.052519s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.028673s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.029543s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.015759s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.017408s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.016914s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.015654s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.015260s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.024504s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.024732s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.022361s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.014853s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.013614s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.034566s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.037781s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.032659s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.031219s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file [0.013512s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.013541s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.012546s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.015495s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.012976s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.013494s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.012892s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.015168s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.015808s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.016382s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.015350s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.015605s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.029897s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.015050s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.017576s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.015504s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.040666s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.012514s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.011242s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.011036s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.011934s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.012120s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.011567s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.011428s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.011170s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.033183s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.045013s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.044090s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.036979s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.039642s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.034535s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.030556s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.045374s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.045091s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.029437s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.039530s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.028959s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.029995s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.013538s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.016623s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.017362s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.015670s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.015411s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.020545s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.018581s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.015109s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.012918s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.011976s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_large_url [0.012129s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.012842s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.012111s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.013271s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.012907s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.016682s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.016676s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.029019s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.033597s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk [0.032814s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_boot_iso [0.032837s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.027708s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.024681s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.025769s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.018263s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.017213s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.018362s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.018464s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.016415s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.017499s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.017124s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.046421s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.051444s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.014515s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.013040s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.012817s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.143322s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.013029s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.012195s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.012667s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.035494s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.030557s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.017118s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.031247s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.030144s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.029941s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.029093s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.038452s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.029640s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.031282s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.030268s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.036402s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.029225s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.030957s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.030263s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.029778s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.029581s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.029022s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.033117s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.017831s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.017288s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.019755s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.019266s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.020215s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.024290s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.021070s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.020629s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.019420s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.019765s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.018778s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.018566s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.020265s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.018480s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.018248s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.018049s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.019211s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.019062s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.032257s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.018372s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.018932s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.018770s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.021327s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.021054s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.032828s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.026366s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.031008s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.024837s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.048312s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.028247s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.039125s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.025031s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.037514s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.055350s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.053001s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.027686s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.028721s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.025770s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.026630s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.027152s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.028469s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_fast_track [0.040020s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot_uefi [0.044726s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.030091s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.013552s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.011874s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.018960s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.031623s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.050759s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.047530s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.074191s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch_none [0.018703s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.016428s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.017399s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.016639s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.027126s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.018660s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.023549s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.019283s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.016847s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.016447s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.016580s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.017885s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.014502s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.020488s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_override_attempts [0.014153s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.016243s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.067502s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.025212s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.030225s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.037844s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.049795s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.179514s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.054188s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.062131s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.027195s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.025880s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.032453s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_active [0.034827s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_instance_ramdisk [0.068341s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_unrescuing [0.034542s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_calls_boot_validate [0.029420s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.026762s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.034826s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.025397s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.031138s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.019147s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.043846s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.039870s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.042271s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.015749s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.017721s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.015378s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.014875s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.014852s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.015039s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.015853s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.014506s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.014391s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.015744s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.014572s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.014506s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.017043s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.015016s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.014662s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.015554s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.014148s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.015756s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.018901s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.017059s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.017757s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.016057s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.015335s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.020294s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.015851s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.014842s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.015344s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.013724s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.029287s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.028411s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.013989s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.012781s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.017088s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.013265s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.012621s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.012684s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.019151s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.022571s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.031094s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.016140s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.029184s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.029277s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.029319s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.012558s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.011520s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.011335s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.011485s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.012641s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.016914s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.013832s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.012088s] ... ok {1} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.011668s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.012361s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.012830s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.030887s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.027861s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.027015s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.026768s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.027959s] ... ok {1} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.026797s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.027796s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.027966s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.027441s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.027384s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.030734s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.031954s] ... ok {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.029540s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.013747s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.013309s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.015615s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.028587s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.013966s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.019866s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.013310s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.013964s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.016186s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.022205s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.020487s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.013990s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.013846s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.014005s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.144408s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.014290s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.014374s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.011109s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.010804s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.010902s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.010902s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.013046s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.013106s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.013211s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.012963s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.012900s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.018631s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.014771s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.014456s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.015234s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.014072s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.014406s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.015322s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.017519s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.013873s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.013706s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.013866s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.013219s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.014198s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.014073s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.014243s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.014785s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.014237s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.014759s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.034577s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.014090s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.013264s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.016672s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.016061s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.011247s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.011489s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.010822s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.014879s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.011226s] ... ok {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.011195s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.010884s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.010976s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.010873s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.011673s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.010797s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.010815s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.011395s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.011138s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.011127s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.011960s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.011713s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.011283s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.012554s] ... ok {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.042141s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.014050s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.014885s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.013125s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.012949s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.012792s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.013260s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.013267s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.013783s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.013304s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.013054s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.014527s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.013575s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.013255s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.013828s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.013439s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06719ebb-bf0a-4e9c-bf1b-0aa312120674 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"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-06719ebb-bf0a-4e9c-bf1b-0aa312120674 X-Openstack-Ironic-Api-Maximum-Version: 1.72 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.72 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f5fbe22c-2463-4740-9adc-2e2b81140e61 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} 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.72'}, 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, '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. func1() migrated 10 of 10 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. Running batches of 50 until migrations have been completed. Malformed option m1key1=value1 {'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'}]}]} ====== Totals ====== Ran: 8417 tests in 493.5199 sec. - Passed: 8373 - Skipped: 44 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 1609.1925 sec. ============== Worker Balance ============== - Worker 0 (2105 tests) => 0:07:21.017535 - Worker 1 (2104 tests) => 0:08:10.123275 - Worker 2 (2104 tests) => 0:05:46.280040 - Worker 3 (2104 tests) => 0:05:38.951831 + RPM_EC=0 ++ jobs -p + exit 0 Processing files: openstack-ironic-common-17.1.1-0.20240306093343.663a97f.el9.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.yRBC4D + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr etc/ironic/policy.yaml.sample /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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.IPAgIR + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/share/licenses/openstack-ironic-common + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/share/licenses/openstack-ironic-common + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(openstack-ironic-common) = 1:17.1.1-0.20240306093343.663a97f.el9 openstack-ironic-common = 1:17.1.1-0.20240306093343.663a97f.el9 python3.9dist(ironic) = 17.1.1~~dev16 python3dist(ironic) = 17.1.1~~dev16 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 python3-sushy >= 3.4.0 Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 Processing files: openstack-ironic-api-17.1.1-0.20240306093343.663a97f.el9.noarch Provides: openstack-ironic-api = 1:17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.noarch Provides: openstack-ironic-conductor = 1:17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.noarch Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.maxhr0 + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.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:17.1.1-0.20240306093343.663a97f.el9 openstack-ironic-dnsmasq-tftp-server = 1:17.1.1-0.20240306093343.663a97f.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-17.1.1-0.20240306093343.663a97f.el9.noarch Provides: python-ironic-tests = 1:17.1.1-0.20240306093343.663a97f.el9 python3-ironic-tests = 1:17.1.1-0.20240306093343.663a97f.el9 python3.9-ironic-tests = 1:17.1.1-0.20240306093343.663a97f.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:17.1.1-0.20240306093343.663a97f.el9 python39-ironic-tests < 1:17.1.1-0.20240306093343.663a97f.el9 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 Wrote: /builddir/build/RPMS/openstack-ironic-api-17.1.1-0.20240306093343.663a97f.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-17.1.1-0.20240306093343.663a97f.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-17.1.1-0.20240306093343.663a97f.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-common-17.1.1-0.20240306093343.663a97f.el9.noarch.rpm Wrote: /builddir/build/RPMS/python3-ironic-tests-17.1.1-0.20240306093343.663a97f.el9.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.znob0n + umask 022 + cd /builddir/build/BUILD + cd ironic-17.1.1.dev16 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20240306093343.663a97f.el9.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0