--- pytest attempt 2026-07-19T09:57:53.960936+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-07-19T09:57:55.838779Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-07-19T09:57:55.840908Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-19T09:57:55.966400Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-19T09:57:56.038007Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] ============================= test session starts ============================== platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 -- /home/odh/opendatahub-tests/.venv/bin/python3 cachedir: .pytest_cache metadata: {'Python': '3.14.6', 'Platform': 'Linux-5.14.0-570.122.1.el9_6.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.1.1', 'pluggy': '1.6.0'}, 'Plugins': {'anyio': '4.14.0', 'langsmith': '0.9.0', 'asyncio': '1.4.0', 'dependency': '0.6.1', 'html': '4.2.0', 'metadata': '3.1.1', 'order': '1.5.0', 'progress': '1.4.0', 'testconfig': '0.2.0', 'xdist': '3.8.0', 'syrupy': '5.3.2'}} rootdir: /home/odh/opendatahub-tests configfile: pytest.ini plugins: anyio-4.14.0, langsmith-0.9.0, asyncio-1.4.0, dependency-0.6.1, html-4.2.0, metadata-3.1.1, order-1.5.0, progress-1.4.0, testconfig-0.2.0, xdist-3.8.0, syrupy-5.3.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 59 items / 55 deselected / 4 selected tests/workbenches/notebooks_server/controller/test_spawning.py::TestNotebook::test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0]  test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-19T09:57:56.195272Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-07-19T09:57:56.198185Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-07-19T09:57:56.198313Z [info ] Executing session fixture: admin_client [conftest] 2026-07-19T09:57:56.198422Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-19T09:57:56.198530Z [info ] Executing session fixture: dsc_resource [conftest] 2026-07-19T09:57:56.198653Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-19T09:57:56.264526Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-07-19T09:57:56.264754Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-07-19T09:57:56.265548Z [info ] Executing session fixture: os_path_environment [conftest] 2026-07-19T09:57:56.265726Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-07-19T09:57:56.265854Z [info ] Executing session fixture: bin_directory [conftest] 2026-07-19T09:57:56.266586Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-07-19T09:57:56.280394Z [info ] kind: ConsoleCLIDownload api version: console.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:57:56.309828Z [info ] All oc console cli download links: ['https://downloads-openshift-console.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/amd64/linux/oc.tar'] [utilities.infra] name=utilities.infra 2026-07-19T09:57:56.309925Z [info ] Downloading archive using: url=https://downloads-openshift-console.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/amd64/linux/oc.tar [utilities.infra] name=utilities.infra 2026-07-19T09:57:56.310766Z [info ] Waiting for 120 seconds [0:02:00], retry every 10 seconds. (Function: utilities.infra._download_with_retry Kwargs: {'url': 'https://downloads-openshift-console.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com/amd64/linux/oc.tar'}) [timeout_sampler] 2026-07-19T09:57:56.384056Z [info ] Elapsed time: 5.507469177246094e-05 [0:00:00.000055] [timeout_sampler] 2026-07-19T09:57:57.019416Z [info ] Extract the downloaded archive. [utilities.infra] name=utilities.infra 2026-07-19T09:57:57.121072Z [info ] Downloaded file: ['oc']  [utilities.infra] name=utilities.infra 2026-07-19T09:57:57.139953Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-07-19T09:57:57.138911Z [info ] OC binary path: /tmp/pytest-4YnbXJDEiM6HiS4kSWybuA/bin0/oc [tests.conftest] name=tests.conftest 2026-07-19T09:57:57.138958Z [info ] Adding /tmp/pytest-4YnbXJDEiM6HiS4kSWybuA/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-07-19T09:57:57.140438Z [info ] Executing session fixture: nodes [conftest] 2026-07-19T09:57:58.162641Z [info ] Executing session fixture: dsci_resource [conftest] 2026-07-19T09:57:58.162770Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-07-19T09:57:58.179137Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-07-19T09:57:58.179266Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-07-19T09:57:58.179364Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-07-19T09:57:58.178522Z [info ] Check cluster sanity.  [utilities.infra] name=utilities.infra 2026-07-19T09:57:58.179560Z [info ] Verify all nodes are in a healthy condition. [ocp_utilities.infra] 2026-07-19T09:57:58.228696Z [info ] Verify all nodes are schedulable. [ocp_utilities.infra] 2026-07-19T09:57:58.276560Z [info ] Waiting for 120 seconds [0:02:00], retry every 5 seconds. (Function: utilities.infra.wait_for_dsci_status_ready Kwargs: {'dsci_resource': }) [timeout_sampler] 2026-07-19T09:57:58.275990Z [info ] Wait for DSCI default-dsci to be in Ready status. [utilities.infra] name=utilities.infra 2026-07-19T09:57:58.276839Z [info ] Get DSCInitialization default-dsci status [ocp_resources DSCInitialization] 2026-07-19T09:57:58.291582Z [info ] Elapsed time: 7.200241088867188e-05 [0:00:00.000072] [timeout_sampler] 2026-07-19T09:57:58.291730Z [info ] Waiting for 120 seconds [0:02:00], retry every 5 seconds. (Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': }) [timeout_sampler] 2026-07-19T09:57:58.291027Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-19T09:57:58.292006Z [info ] Get DataScienceCluster default-dsc status [ocp_resources DataScienceCluster] 2026-07-19T09:57:58.309656Z [info ] Elapsed time: 3.647804260253906e-05 [0:00:00.000036] [timeout_sampler] 2026-07-19T09:57:58.309788Z [info ] Executing session fixture: autouse_fixtures [conftest] 2026-07-19T09:57:58.309901Z [info ] Executing session fixture: pytestconfig [conftest] 2026-07-19T09:57:58.310008Z [info ] Executing session fixture: use_unprivileged_client [conftest] 2026-07-19T09:57:58.310553Z [info ] Executing session fixture: kubconfig_filepath [conftest] 2026-07-19T09:57:58.310677Z [info ] Executing session fixture: cluster_authentication [conftest] 2026-07-19T09:57:58.310785Z [info ] kind: Authentication api version: config.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:57:58.325853Z [info ] Executing session fixture: is_byoidc [conftest] 2026-07-19T09:57:58.343449Z [info ] Executing session fixture: non_admin_user_password [conftest] 2026-07-19T09:57:58.343601Z [info ] Executing session fixture: unprivileged_client [conftest] 2026-07-19T09:57:58.341800Z [warning ] Unprivileged client is not enabled, using admin client [tests.conftest] name=tests.conftest 2026-07-19T09:57:58.343847Z [info ] Executing session fixture: teardown_resources [conftest] 2026-07-19T09:57:58.343964Z [info ] Executing class fixture: unprivileged_model_namespace [conftest] 2026-07-19T09:57:58.344076Z [info ] kind: ProjectRequest api version: project.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:57:58.344213Z [info ] Create ProjectRequest test-odh-notebook [ocp_resources ProjectRequest] 2026-07-19T09:57:58.344308Z [info ] Posting {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'test-odh-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}}} [ocp_resources ProjectRequest] ERROR _ ERROR at setup of TestNotebook.test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0] _ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1171, in retry_cluster_exceptions for sample in sampler: ^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 171, in __iter__ raise TimeoutExpiredError( self._get_exception_log(exp=last_exp), last_exp=last_exp, elapsed_time=elapsed_time ) timeout_sampler.TimeoutExpiredError: Timed Out: 10 Function: kubernetes.dynamic.client.create Kwargs: {'body': {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'test-odh-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}}}, 'namespace': None} Last exception: ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) . Elapsed time: 0.026893138885498047 [0:00:00.026893] The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 895, in pytest_runtest_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 170, in pytest_runtest_setup item.session._setupstate.setup(item) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 536, in setup col.setup() ~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1710, in setup self._request._fillfixtures() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 806, in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 630, in getfixturevalue fixturedef = self._get_active_fixturedef(argname) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 726, in _get_active_fixturedef fixturedef.execute(request=subrequest) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1232, in execute result: FixtureValue = ihook.pytest_fixture_setup( ~~~~~~~~~~~~~~~~~~~~~~~~~~^ fixturedef=self, request=request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pytest_asyncio/plugin.py", line 924, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1328, in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 998, in call_fixture_func fixture_result = next(generator) File "/home/odh/opendatahub-tests/tests/conftest.py", line 636, in unprivileged_model_namespace with create_ns( ~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... teardown=teardown_resources, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) as ns: ^ File "/usr/lib64/python3.14/contextlib.py", line 141, in __enter__ return next(self.gen) File "/home/odh/opendatahub-tests/utilities/infra.py", line 157, in create_ns project = ProjectRequest(**namespace_kwargs).deploy() File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/project_request.py", line 52, in deploy super().deploy(wait=wait) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 831, in deploy self.create(wait=wait) ~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1071, in create resource_ = Resource.retry_cluster_exceptions( func=self.api.create, exceptions_dict=exceptions_dict, **resource_kwargs ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1176, in retry_cluster_exceptions raise exp.last_exp from exp File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 162, in __iter__ yield self.func(*self.func_args, **self.func_kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 119, in create return self.request('post', path, body=body, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 57, in inner raise api_exception(e) kubernetes.dynamic.exceptions.ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) _ 1 of 4 completed, 0 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 1 Error, 0 ReRun _ tests/workbenches/notebooks_server/controller/test_spawning.py::TestNotebook::test_auth_container_resource_customization[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0]  TEST: TestNotebook.test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0] [setup] STATUS: ERROR 2026-07-19T09:57:58.381864Z [error ] Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1171, in retry_cluster_exceptions for sample in sampler: ^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 171, in __iter__ raise TimeoutExpiredError( self._get_exception_log(exp=last_exp), last_exp=last_exp, elapsed_time=elapsed_time ) timeout_sampler.TimeoutExpiredError: Timed Out: 10 Function: kubernetes.dynamic.client.create Kwargs: {'body': {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'test-odh-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}}}, 'namespace': None} Last exception: ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) . Elapsed time: 0.026893138885498047 [0:00:00.026893] The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 895, in pytest_runtest_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 170, in pytest_runtest_setup item.session._setupstate.setup(item) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 536, in setup col.setup() ~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1710, in setup self._request._fillfixtures() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 806, in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 630, in getfixturevalue fixturedef = self._get_active_fixturedef(argname) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 726, in _get_active_fixturedef fixturedef.execute(request=subrequest) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1232, in execute result: FixtureValue = ihook.pytest_fixture_setup( ~~~~~~~~~~~~~~~~~~~~~~~~~~^ fixturedef=self, request=request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pytest_asyncio/plugin.py", line 924, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1328, in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 998, in call_fixture_func fixture_result = next(generator) File "/home/odh/opendatahub-tests/tests/conftest.py", line 636, in unprivileged_model_namespace with create_ns( ~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... teardown=teardown_resources, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) as ns: ^ File "/usr/lib64/python3.14/contextlib.py", line 141, in __enter__ return next(self.gen) File "/home/odh/opendatahub-tests/utilities/infra.py", line 157, in create_ns project = ProjectRequest(**namespace_kwargs).deploy() File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/project_request.py", line 52, in deploy super().deploy(wait=wait) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 831, in deploy self.create(wait=wait) ~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1071, in create resource_ = Resource.retry_cluster_exceptions( func=self.api.create, exceptions_dict=exceptions_dict, **resource_kwargs ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1176, in retry_cluster_exceptions raise exp.last_exp from exp File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 162, in __iter__ yield self.func(*self.func_args, **self.func_kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 119, in create return self.request('post', path, body=body, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 57, in inner raise api_exception(e) kubernetes.dynamic.exceptions.ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) [conftest] ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_auth_container_resource_customization[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-19T09:57:58.382411Z [info ] Executing class fixture: unprivileged_model_namespace [conftest] 2026-07-19T09:57:58.382511Z [info ] Create ProjectRequest test-auth-notebook [ocp_resources ProjectRequest] 2026-07-19T09:57:58.382613Z [info ] Posting {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'test-auth-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}}} [ocp_resources ProjectRequest] 2026-07-19T09:57:58.488522Z [info ] kind: Project api version: project.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:57:58.488677Z [info ] Wait for Project test-auth-notebook status to be Active [ocp_resources Project] 2026-07-19T09:57:58.488798Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_status.lambda: self.exists) [timeout_sampler] 2026-07-19T09:57:58.523704Z [info ] Status of Project test-auth-notebook is Active [ocp_resources Project] 2026-07-19T09:57:58.523832Z [info ] Elapsed time: 3.075599670410156e-05 [0:00:00.000031] [timeout_sampler] 2026-07-19T09:57:58.523952Z [info ] ResourceEdits: Updating data for resource Namespace test-auth-notebook [ocp_resources.resource] 2026-07-19T09:57:58.524193Z [info ] Update Namespace test-auth-notebook: {'metadata': {'labels': {'opendatahub.io/dashboard': 'true'}, 'name': 'test-auth-notebook'}} [ocp_resources Namespace] 2026-07-19T09:57:58.564050Z [info ] Executing function fixture: minimal_image [conftest] 2026-07-19T09:57:58.612150Z [info ] kind: ClusterServiceVersion api version: operators.coreos.com/v1alpha1 [ocp_resources.resource] 2026-07-19T09:57:58.705653Z [info ] Executing function fixture: notebook_image [conftest] 2026-07-19T09:57:58.765187Z [info ] kind: Config api version: imageregistry.operator.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:57:58.780806Z [info ] Image registry management state: managed, available: True [utilities.infra] name=utilities.infra 2026-07-19T09:57:58.782476Z [info ] Executing function fixture: users_persistent_volume_claim [conftest] 2026-07-19T09:57:58.782607Z [info ] Create PersistentVolumeClaim test-auth-notebook [ocp_resources PersistentVolumeClaim] 2026-07-19T09:57:58.782733Z [info ] Posting {'apiVersion': 'v1', 'kind': 'PersistentVolumeClaim', 'metadata': {'name': 'test-auth-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}, 'namespace': 'test-auth-notebook'}, 'spec': {'volumeMode': 'Filesystem', 'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '10Gi'}}}} [ocp_resources PersistentVolumeClaim] 2026-07-19T09:57:58.820966Z [info ] Executing function fixture: default_notebook [conftest] 2026-07-19T09:57:58.860042Z [info ] kind: Notebook api version: kubeflow.org/v1 [ocp_resources.resource] 2026-07-19T09:57:58.860252Z [info ] Create Notebook test-auth-notebook [ocp_resources Notebook] 2026-07-19T09:57:58.860397Z [info ] Posting {'apiVersion': 'kubeflow.org/v1', 'kind': 'Notebook', 'metadata': {'annotations': {'notebooks.opendatahub.io/inject-auth': 'true', 'opendatahub.io/accelerator-name': '', 'notebooks.opendatahub.io/last-image-selection': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5', 'notebooks.opendatahub.io/auth-sidecar-cpu-request': '200m', 'notebooks.opendatahub.io/auth-sidecar-memory-request': '128Mi', 'notebooks.opendatahub.io/auth-sidecar-cpu-limit': '500m', 'notebooks.opendatahub.io/auth-sidecar-memory-limit': '256Mi'}, 'finalizers': ['notebook.opendatahub.io/kube-rbac-proxy-cleanup'], 'labels': {'app': 'test-auth-notebook', 'opendatahub.io/dashboard': 'true', 'opendatahub.io/odh-managed': 'true'}, 'name': 'test-auth-notebook', 'namespace': 'test-auth-notebook'}, 'spec': {'template': {'spec': {'affinity': {}, 'containers': [{'env': [{'name': 'NOTEBOOK_ARGS', 'value': "--ServerApp.port=8888\n --ServerApp.token=''\n --ServerApp.password=''\n --ServerApp.base_url=/notebook/test-auth-notebook/test-auth-notebook\n --ServerApp.quit_button=False\n"}, {'name': 'JUPYTER_IMAGE', 'value': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5'}], 'image': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5', 'imagePullPolicy': 'Always', 'livenessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/notebook/test-auth-notebook/test-auth-notebook/api', 'port': 'notebook-port', 'scheme': 'HTTP'}, 'initialDelaySeconds': 10, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'name': 'test-auth-notebook', 'ports': [{'containerPort': 8888, 'name': 'notebook-port', 'protocol': 'TCP'}], 'readinessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/notebook/test-auth-notebook/test-auth-notebook/api', 'port': 'notebook-port', 'scheme': 'HTTP'}, 'initialDelaySeconds': 10, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'resources': {'limits': {'cpu': '2', 'memory': '4Gi'}, 'requests': {'cpu': '1', 'memory': '1Gi'}}, 'volumeMounts': [{'mountPath': '/opt/app-root/src', 'name': 'test-auth-notebook'}, {'mountPath': '/dev/shm', 'name': 'shm'}], 'workingDir': '/opt/app-root/src'}], 'enableServiceLinks': False, 'serviceAccountName': 'test-auth-notebook', 'volumes': [{'name': 'test-auth-notebook', 'persistentVolumeClaim': {'claimName': 'test-auth-notebook'}}, {'emptyDir': {'medium': 'Memory'}, 'name': 'shm'}, {'name': 'kube-rbac-proxy-config', 'configMap': {'defaultMode': 420, 'name': 'test-kube-rbac-proxy-config'}}, {'name': 'kube-rbac-proxy-tls-certificates', 'secret': {'defaultMode': 420, 'secretName': 'test-kube-rbac-proxy-tls'}}]}}}} [ocp_resources Notebook] 2026-07-19T09:57:59.363486Z [info ] Executing function fixture: notebook_pod [conftest] 2026-07-19T09:57:59.363626Z [info ] Wait until Pod test-auth-notebook-0 is created [ocp_resources Pod] 2026-07-19T09:57:59.363729Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-19T09:58:01.411793Z [info ] Elapsed time: 2.032369375228882 [0:00:02.032369] [timeout_sampler] 2026-07-19T09:58:01.411966Z [info ] Wait for Pod/test-auth-notebook-0's 'Ready' condition to be 'True' [ocp_resources Pod] 2026-07-19T09:58:01.412136Z [info ] Wait until Pod test-auth-notebook-0 is created [ocp_resources Pod] 2026-07-19T09:58:01.412341Z [info ] Waiting for 120 seconds [0:02:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-19T09:58:01.427997Z [info ] Elapsed time: 2.765655517578125e-05 [0:00:00.000028] [timeout_sampler] 2026-07-19T09:58:01.428203Z [info ] Waiting for 119.98375868797302 seconds [0:01:59.983759], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-19T09:58:44.579495Z [info ] Elapsed time: 43.123907804489136 [0:00:43.123908] [timeout_sampler] --------------------------------------------------------- CALL --------------------------------------------------------- PASSED TEST: TestNotebook.test_auth_container_resource_customization[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-19T09:58:44.595771Z [info ] Delete Notebook test-auth-notebook [ocp_resources Notebook] 2026-07-19T09:58:44.637292Z [info ] Deleting {'apiVersion': 'kubeflow.org/v1', 'kind': 'Notebook', 'metadata': {'annotations': {'notebooks.opendatahub.io/auth-sidecar-cpu-limit': '500m', 'notebooks.opendatahub.io/auth-sidecar-cpu-request': '200m', 'notebooks.opendatahub.io/auth-sidecar-memory-limit': '256Mi', 'notebooks.opendatahub.io/auth-sidecar-memory-request': '128Mi', 'notebooks.opendatahub.io/inject-auth': 'true', 'notebooks.opendatahub.io/last-image-selection': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5', 'opendatahub.io/accelerator-name': ''}, 'creationTimestamp': '2026-07-19T09:57:59Z', 'finalizers': ['notebook.opendatahub.io/kube-rbac-proxy-cleanup', 'notebook.opendatahub.io/httproute-cleanup', 'notebook.opendatahub.io/referencegrant-cleanup'], 'generation': 1, 'labels': {'app': 'test-auth-notebook', 'opendatahub.io/dashboard': 'true', 'opendatahub.io/odh-managed': 'true'}, 'managedFields': [{'apiVersion': 'kubeflow.org/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:notebooks.opendatahub.io/auth-sidecar-cpu-limit': {}, 'f:notebooks.opendatahub.io/auth-sidecar-cpu-request': {}, 'f:notebooks.opendatahub.io/auth-sidecar-memory-limit': {}, 'f:notebooks.opendatahub.io/auth-sidecar-memory-request': {}, 'f:notebooks.opendatahub.io/inject-auth': {}, 'f:notebooks.opendatahub.io/last-image-selection': {}, 'f:opendatahub.io/accelerator-name': {}}, 'f:finalizers': {'.': {}, 'v:"notebook.opendatahub.io/kube-rbac-proxy-cleanup"': {}}, 'f:labels': {'.': {}, 'f:app': {}, 'f:opendatahub.io/dashboard': {}, 'f:opendatahub.io/odh-managed': {}}}, 'f:spec': {'.': {}, 'f:template': {'.': {}, 'f:spec': {'.': {}, 'f:affinity': {}, 'f:containers': {'.': {}, 'k:{"name":"test-auth-notebook"}': {'.': {}, 'f:env': {'.': {}, 'k:{"name":"JUPYTER_IMAGE"}': {'.': {}, 'f:name': {}, 'f:value': {}}, 'k:{"name":"NOTEBOOK_ARGS"}': {'.': {}, 'f:name': {}, 'f:value': {}}}, 'f:image': {}, 'f:imagePullPolicy': {}, 'f:livenessProbe': {'.': {}, 'f:failureThreshold': {}, 'f:httpGet': {'.': {}, 'f:path': {}, 'f:port': {}, 'f:scheme': {}}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:name': {}, 'f:ports': {'.': {}, 'k:{"containerPort":8888,"protocol":"TCP"}': {'.': {}, 'f:containerPort': {}, 'f:name': {}, 'f:protocol': {}}}, 'f:readinessProbe': {'.': {}, 'f:failureThreshold': {}, 'f:httpGet': {'.': {}, 'f:path': {}, 'f:port': {}, 'f:scheme': {}}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:resources': {'.': {}, 'f:limits': {'.': {}, 'f:cpu': {}, 'f:memory': {}}, 'f:requests': {'.': {}, 'f:cpu': {}, 'f:memory': {}}}, 'f:volumeMounts': {'.': {}, 'k:{"mountPath":"/dev/shm"}': {'.': {}, 'f:mountPath': {}, 'f:name': {}}, 'k:{"mountPath":"/opt/app-root/src"}': {'.': {}, 'f:mountPath': {}, 'f:name': {}}}, 'f:workingDir': {}}}, 'f:enableServiceLinks': {}, 'f:serviceAccountName': {}, 'f:volumes': {'.': {}, 'k:{"name":"kube-rbac-proxy-config"}': {'.': {}, 'f:configMap': {}, 'f:name': {}}, 'k:{"name":"kube-rbac-proxy-tls-certificates"}': {'.': {}, 'f:name': {}, 'f:secret': {'.': {}, 'f:defaultMode': {}, 'f:secretName': {}}}, 'k:{"name":"shm"}': {'.': {}, 'f:emptyDir': {'.': {}, 'f:medium': {}}, 'f:name': {}}, 'k:{"name":"test-auth-notebook"}': {'.': {}, 'f:name': {}, 'f:persistentVolumeClaim': {'.': {}, 'f:claimName': {}}}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-19T09:57:58Z'}, {'apiVersion': 'kubeflow.org/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'v:"notebook.opendatahub.io/httproute-cleanup"': {}, 'v:"notebook.opendatahub.io/referencegrant-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-19T09:57:59Z'}, {'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:containerState': {'.': {}, 'f:running': {'.': {}, 'f:startedAt': {}}}, 'f:readyReplicas': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-19T09:58:43Z'}], 'name': 'test-auth-notebook', 'namespace': 'test-auth-notebook', 'resourceVersion': '39421472', 'uid': '7d84ffdd-2b33-470f-8c0e-3ca1e55cc5fe'}, 'spec': {'template': {'spec': {'affinity': {}, 'containers': [{'env': [{'name': 'NOTEBOOK_ARGS', 'value': "--ServerApp.port=8888\n --ServerApp.token=''\n --ServerApp.password=''\n --ServerApp.base_url=/notebook/test-auth-notebook/test-auth-notebook\n --ServerApp.quit_button=False\n"}, {'name': 'JUPYTER_IMAGE', 'value': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5'}, {'name': 'REQUESTS_CA_BUNDLE', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}, {'name': 'SSL_CERT_FILE', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}, {'name': 'PIPELINES_SSL_SA_CERTS', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}, {'name': 'KF_PIPELINES_SSL_SA_CERTS', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}, {'name': 'GIT_SSL_CAINFO', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}, {'name': 'PIP_CERT', 'value': '/etc/pki/tls/custom-certs/ca-bundle.crt'}], 'image': 'image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook:3.5', 'imagePullPolicy': 'Always', 'livenessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/notebook/test-auth-notebook/test-auth-notebook/api', 'port': 'notebook-port', 'scheme': 'HTTP'}, 'initialDelaySeconds': 10, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'name': 'test-auth-notebook', 'ports': [{'containerPort': 8888, 'name': 'notebook-port', 'protocol': 'TCP'}], 'readinessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/notebook/test-auth-notebook/test-auth-notebook/api', 'port': 'notebook-port', 'scheme': 'HTTP'}, 'initialDelaySeconds': 10, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'resources': {'limits': {'cpu': '2', 'memory': '4Gi'}, 'requests': {'cpu': '1', 'memory': '1Gi'}}, 'volumeMounts': [{'mountPath': '/opt/app-root/src', 'name': 'test-auth-notebook'}, {'mountPath': '/dev/shm', 'name': 'shm'}, {'mountPath': '/etc/pki/tls/custom-certs', 'name': 'trusted-ca', 'readOnly': True}, {'mountPath': '/opt/app-root/pipeline-runtimes/', 'name': 'runtime-images'}], 'workingDir': '/opt/app-root/src'}, {'args': ['--secure-listen-address=0.0.0.0:8443', '--upstream=http://127.0.0.1:8888/', '--logtostderr=true', '--v=10', '--proxy-endpoints-port=8444', '--config-file=/etc/kube-rbac-proxy/config-file.yaml', '--tls-cert-file=/etc/tls/private/tls.crt', '--tls-private-key-file=/etc/tls/private/tls.key', '--auth-header-fields-enabled=true', '--auth-header-user-field-name=X-Auth-Request-User', '--auth-header-groups-field-name=X-Auth-Request-Groups'], 'image': 'registry.redhat.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:1e614e46799fd020ac18d95c06a463421154ce86e59ccb3fa6007e66fed9910e', 'imagePullPolicy': 'Always', 'livenessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/healthz', 'port': 8444, 'scheme': 'HTTPS'}, 'initialDelaySeconds': 30, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'name': 'kube-rbac-proxy', 'ports': [{'containerPort': 8443, 'name': 'kube-rbac-proxy', 'protocol': 'TCP'}], 'readinessProbe': {'failureThreshold': 3, 'httpGet': {'path': '/healthz', 'port': 8444, 'scheme': 'HTTPS'}, 'initialDelaySeconds': 5, 'periodSeconds': 5, 'successThreshold': 1, 'timeoutSeconds': 1}, 'resources': {'limits': {'cpu': '500m', 'memory': '256Mi'}, 'requests': {'cpu': '200m', 'memory': '128Mi'}}, 'volumeMounts': [{'mountPath': '/etc/kube-rbac-proxy', 'name': 'kube-rbac-proxy-config'}, {'mountPath': '/etc/tls/private', 'name': 'kube-rbac-proxy-tls-certificates'}]}], 'enableServiceLinks': False, 'serviceAccountName': 'test-auth-notebook', 'volumes': [{'name': 'test-auth-notebook', 'persistentVolumeClaim': {'claimName': 'test-auth-notebook'}}, {'emptyDir': {'medium': 'Memory'}, 'name': 'shm'}, {'configMap': {'defaultMode': 420, 'name': 'test-auth-notebook-kube-rbac-proxy-config'}, 'name': 'kube-rbac-proxy-config'}, {'name': 'kube-rbac-proxy-tls-certificates', 'secret': {'defaultMode': 420, 'secretName': 'test-auth-notebook-kube-rbac-proxy-tls'}}, {'configMap': {'name': 'workbench-trusted-ca-bundle', 'optional': True}, 'name': 'trusted-ca'}, {'configMap': {'name': 'pipeline-runtime-images', 'optional': True}, 'name': 'runtime-images'}]}}}, 'status': {'conditions': [{'lastProbeTime': '2026-07-19T09:58:43Z', 'lastTransitionTime': '2026-07-19T09:58:31Z', 'status': 'True', 'type': 'PodReadyToStartContainers'}, {'lastProbeTime': '2026-07-19T09:58:43Z', 'lastTransitionTime': '2026-07-19T09:58:03Z', 'status': 'True', 'type': 'Initialized'}, {'lastProbeTime': '2026-07-19T09:58:43Z', 'lastTransitionTime': '2026-07-19T09:58:43Z', 'status': 'True', 'type': 'Ready'}, {'lastProbeTime': '2026-07-19T09:58:43Z', 'lastTransitionTime': '2026-07-19T09:58:43Z', 'status': 'True', 'type': 'ContainersReady'}, {'lastProbeTime': '2026-07-19T09:58:43Z', 'lastTransitionTime': '2026-07-19T09:58:03Z', 'status': 'True', 'type': 'PodScheduled'}], 'containerState': {'running': {'startedAt': '2026-07-19T09:58:29Z'}}, 'readyReplicas': 1}} [ocp_resources Notebook] 2026-07-19T09:58:44.661376Z [info ] Wait until Notebook test-auth-notebook is deleted [ocp_resources Notebook] 2026-07-19T09:58:44.661533Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-19T09:58:45.693585Z [info ] Elapsed time: 1.0158843994140625 [0:00:01.015884] [timeout_sampler] 2026-07-19T09:58:45.693753Z [info ] Delete PersistentVolumeClaim test-auth-notebook [ocp_resources PersistentVolumeClaim] 2026-07-19T09:58:45.725670Z [info ] Deleting {'kind': 'PersistentVolumeClaim', 'apiVersion': 'v1', 'metadata': {'name': 'test-auth-notebook', 'namespace': 'test-auth-notebook', 'uid': '3e076e0c-4599-4adc-940c-043f99460974', 'resourceVersion': '39420763', 'creationTimestamp': '2026-07-19T09:57:58Z', 'labels': {'opendatahub.io/dashboard': 'true'}, 'annotations': {'pv.kubernetes.io/bind-completed': 'yes', 'pv.kubernetes.io/bound-by-controller': 'yes', 'volume.beta.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com', 'volume.kubernetes.io/selected-node': 'ip-10-0-1-227.us-east-2.compute.internal', 'volume.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com'}, 'finalizers': ['kubernetes.io/pvc-protection'], 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:opendatahub.io/dashboard': {}}}, 'f:spec': {'f:accessModes': {}, 'f:resources': {'f:requests': {'.': {}, 'f:storage': {}}}, 'f:volumeMode': {}}}}, {'manager': 'kube-scheduler', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:58:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:volume.kubernetes.io/selected-node': {}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:58:02Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:pv.kubernetes.io/bind-completed': {}, 'f:pv.kubernetes.io/bound-by-controller': {}, 'f:volume.beta.kubernetes.io/storage-provisioner': {}, 'f:volume.kubernetes.io/storage-provisioner': {}}}, 'f:spec': {'f:volumeName': {}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:58:02Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:accessModes': {}, 'f:capacity': {'.': {}, 'f:storage': {}}, 'f:phase': {}}}, 'subresource': 'status'}]}, 'spec': {'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '10Gi'}}, 'volumeName': 'pvc-3e076e0c-4599-4adc-940c-043f99460974', 'storageClassName': 'gp3-csi', 'volumeMode': 'Filesystem'}, 'status': {'phase': 'Bound', 'accessModes': ['ReadWriteOnce'], 'capacity': {'storage': '10Gi'}}} [ocp_resources PersistentVolumeClaim] 2026-07-19T09:58:45.747330Z [info ] Wait until PersistentVolumeClaim test-auth-notebook is deleted [ocp_resources PersistentVolumeClaim] 2026-07-19T09:58:45.747478Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-19T09:58:46.778337Z [info ] Elapsed time: 1.014859914779663 [0:00:01.014860] [timeout_sampler] 2026-07-19T09:58:46.794220Z [info ] Delete Project test-auth-notebook [ocp_resources Project] 2026-07-19T09:58:46.836194Z [info ] Deleting {'kind': 'Project', 'apiVersion': 'project.openshift.io/v1', 'metadata': {'name': 'test-auth-notebook', 'uid': '64e555c3-bb0b-4260-b818-f89a01d8a437', 'resourceVersion': '39420592', 'creationTimestamp': '2026-07-19T09:57:58Z', 'labels': {'kubernetes.io/metadata.name': 'test-auth-notebook', 'opendatahub.io/dashboard': 'true', 'pod-security.kubernetes.io/audit': 'restricted', 'pod-security.kubernetes.io/audit-version': 'latest', 'pod-security.kubernetes.io/warn': 'restricted', 'pod-security.kubernetes.io/warn-version': 'latest'}, 'annotations': {'openshift.io/description': '', 'openshift.io/display-name': '', 'openshift.io/requester': 'system:serviceaccount:kube-system:olminstall-cluster-admin', 'openshift.io/sa.scc.mcs': 's0:c35,c5', 'openshift.io/sa.scc.supplemental-groups': '1001200000/10000', 'openshift.io/sa.scc.uid-range': '1001200000/10000', 'security.openshift.io/MinimallySufficientPodSecurityStandard': 'restricted'}, 'managedFields': [{'manager': 'cluster-policy-controller', 'operation': 'Apply', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:openshift.io/sa.scc.mcs': {}, 'f:openshift.io/sa.scc.supplemental-groups': {}, 'f:openshift.io/sa.scc.uid-range': {}}}}}, {'manager': 'pod-security-admission-label-synchronization-controller', 'operation': 'Apply', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:security.openshift.io/MinimallySufficientPodSecurityStandard': {}}, 'f:labels': {'f:pod-security.kubernetes.io/audit': {}, 'f:pod-security.kubernetes.io/audit-version': {}, 'f:pod-security.kubernetes.io/warn': {}, 'f:pod-security.kubernetes.io/warn-version': {}}}}}, {'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'f:opendatahub.io/dashboard': {}}}}}, {'manager': 'openshift-apiserver', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:openshift.io/description': {}, 'f:openshift.io/display-name': {}, 'f:openshift.io/requester': {}}, 'f:labels': {'.': {}, 'f:kubernetes.io/metadata.name': {}}}}}, {'manager': 'openshift-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-19T09:57:58Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'f:finalizers': {}}}, 'subresource': 'finalize'}]}, 'spec': {'finalizers': ['kubernetes']}, 'status': {'phase': 'Active'}} [ocp_resources Project] 2026-07-19T09:58:46.868947Z [info ] Wait until Project test-auth-notebook is deleted [ocp_resources Project] 2026-07-19T09:58:46.869075Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] _ 2 of 4 completed, 1 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 1 Error, 0 ReRun _ tests/workbenches/notebooks_server/operator/test_imagestream_health.py::test_workbench_imagestreams_health[test_notebook_imagestreams] 2026-07-19T09:58:55.041635Z [info ] Elapsed time: 8.149905681610107 [0:00:08.149906] [timeout_sampler]  ---------------------------- test_workbench_imagestreams_health[test_notebook_imagestreams] ---------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-19T09:58:55.042007Z [info ] Executing function fixture: label_selector [conftest] 2026-07-19T09:58:55.042149Z [info ] Executing function fixture: expected_imagestream_count [conftest] 2026-07-19T09:58:55.042279Z [info ] Executing function fixture: latest_tags_only [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-19T09:58:55.042489Z [info ] kind: ImageStream api version: image.openshift.io/v1 [ocp_resources.resource] 2026-07-19T09:58:55.330162Z [info ] Checking ImageStreams for label selector 'opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches': expected_count=11, actual_count=11 [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.330252Z [info ] ImageStreams matched for 'opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches': code-server-notebook, jupyter-pytorch-llmcompressor, jupyter-rocm-minimal, jupyter-rocm-pytorch, jupyter-rocm-tensorflow, minimal-gpu, odh-trustyai-notebook, pytorch, s2i-generic-data-science-notebook, s2i-minimal-notebook, tensorflow [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.347667Z [info ] Validating ImageStream code-server-notebook (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.347753Z [info ] ImageStream code-server-notebook tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.347803Z [info ] Checked ImageStream tag code-server-notebook:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.347855Z [info ] Checked ImageStream tag code-server-notebook:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.367277Z [info ] Validating ImageStream jupyter-pytorch-llmcompressor (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.367368Z [info ] ImageStream jupyter-pytorch-llmcompressor tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.367416Z [info ] Checked ImageStream tag jupyter-pytorch-llmcompressor:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.367462Z [info ] Checked ImageStream tag jupyter-pytorch-llmcompressor:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.385601Z [info ] Validating ImageStream jupyter-rocm-minimal (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.385679Z [info ] ImageStream jupyter-rocm-minimal tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.385723Z [info ] Checked ImageStream tag jupyter-rocm-minimal:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.385770Z [info ] Checked ImageStream tag jupyter-rocm-minimal:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.405545Z [info ] Validating ImageStream jupyter-rocm-pytorch (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.405611Z [info ] ImageStream jupyter-rocm-pytorch tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.405647Z [info ] Checked ImageStream tag jupyter-rocm-pytorch:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.405682Z [info ] Checked ImageStream tag jupyter-rocm-pytorch:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.423542Z [info ] Validating ImageStream jupyter-rocm-tensorflow (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.423606Z [info ] ImageStream jupyter-rocm-tensorflow tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.423642Z [info ] Checked ImageStream tag jupyter-rocm-tensorflow:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.423670Z [info ] Checked ImageStream tag jupyter-rocm-tensorflow:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.441705Z [info ] Validating ImageStream minimal-gpu (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.441787Z [info ] ImageStream minimal-gpu tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.441833Z [info ] Checked ImageStream tag minimal-gpu:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.441870Z [info ] Checked ImageStream tag minimal-gpu:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.463989Z [info ] Validating ImageStream odh-trustyai-notebook (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.464059Z [info ] ImageStream odh-trustyai-notebook tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.464116Z [info ] Checked ImageStream tag odh-trustyai-notebook:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.464150Z [info ] Checked ImageStream tag odh-trustyai-notebook:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.488496Z [info ] Validating ImageStream pytorch (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.488576Z [info ] ImageStream pytorch tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.488622Z [info ] Checked ImageStream tag pytorch:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.488667Z [info ] Checked ImageStream tag pytorch:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.505820Z [info ] Validating ImageStream s2i-generic-data-science-notebook (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.505902Z [info ] ImageStream s2i-generic-data-science-notebook tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.505948Z [info ] Checked ImageStream tag s2i-generic-data-science-notebook:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.505986Z [info ] Checked ImageStream tag s2i-generic-data-science-notebook:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.523633Z [info ] Validating ImageStream s2i-minimal-notebook (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.523712Z [info ] ImageStream s2i-minimal-notebook tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.523758Z [info ] Checked ImageStream tag s2i-minimal-notebook:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.523793Z [info ] Checked ImageStream tag s2i-minimal-notebook:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health PASSED _ 3 of 4 completed, 2 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 1 Error, 0 ReRun _ tests/workbenches/notebooks_server/operator/test_imagestream_health.py::test_workbench_imagestreams_health[test_runtime_imagestreams] 2026-07-19T09:58:55.546331Z [info ] Validating ImageStream tensorflow (label selector: opendatahub.io/notebook-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.546397Z [info ] ImageStream tensorflow tag coverage: spec_tags=['3.4', '3.5'], status_tags=['2025.1', '2025.2', '3.4', '3.5'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.546434Z [info ] Checked ImageStream tag tensorflow:3.4 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.546464Z [info ] Checked ImageStream tag tensorflow:3.5 (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health  TEST: test_workbench_imagestreams_health[test_notebook_imagestreams] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------- test_workbench_imagestreams_health[test_runtime_imagestreams] ---------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-19T09:58:55.549609Z [info ] Executing function fixture: label_selector [conftest] 2026-07-19T09:58:55.549701Z [info ] Executing function fixture: expected_imagestream_count [conftest] 2026-07-19T09:58:55.549793Z [info ] Executing function fixture: latest_tags_only [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-19T09:58:55.570889Z [info ] Checking ImageStreams for label selector 'opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches': expected_count=7, actual_count=7 [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.570953Z [info ] ImageStreams matched for 'opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches': runtime-datascience, runtime-minimal, runtime-pytorch, runtime-pytorch-llmcompressor, runtime-rocm-pytorch, runtime-rocm-tensorflow, runtime-tensorflow [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.595988Z [info ] Validating ImageStream runtime-datascience (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.596137Z [info ] ImageStream runtime-datascience tag coverage: spec_tags=['datascience'], status_tags=['datascience'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.596176Z [info ] Checked ImageStream tag runtime-datascience:datascience (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.621734Z [info ] Validating ImageStream runtime-minimal (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.621848Z [info ] ImageStream runtime-minimal tag coverage: spec_tags=['minimal'], status_tags=['minimal'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.621914Z [info ] Checked ImageStream tag runtime-minimal:minimal (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.644518Z [info ] Validating ImageStream runtime-pytorch (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.644594Z [info ] ImageStream runtime-pytorch tag coverage: spec_tags=['pytorch'], status_tags=['pytorch'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.644637Z [info ] Checked ImageStream tag runtime-pytorch:pytorch (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.667212Z [info ] Validating ImageStream runtime-pytorch-llmcompressor (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.667287Z [info ] ImageStream runtime-pytorch-llmcompressor tag coverage: spec_tags=['pytorch-llmcompressor'], status_tags=['pytorch-llmcompressor'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.667329Z [info ] Checked ImageStream tag runtime-pytorch-llmcompressor:pytorch-llmcompressor (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.687768Z [info ] Validating ImageStream runtime-rocm-pytorch (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.687893Z [info ] ImageStream runtime-rocm-pytorch tag coverage: spec_tags=['rocm-pytorch'], status_tags=['rocm-pytorch'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.687963Z [info ] Checked ImageStream tag runtime-rocm-pytorch:rocm-pytorch (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.710029Z [info ] Validating ImageStream runtime-rocm-tensorflow (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.710155Z [info ] ImageStream runtime-rocm-tensorflow tag coverage: spec_tags=['rocm-tensorflow'], status_tags=['rocm-tensorflow'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.710193Z [info ] Checked ImageStream tag runtime-rocm-tensorflow:rocm-tensorflow (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health PASSED2026-07-19T09:58:55.730734Z [info ] Validating ImageStream runtime-tensorflow (label selector: opendatahub.io/runtime-image=true,platform.opendatahub.io/part-of=workbenches) [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.730809Z [info ] ImageStream runtime-tensorflow tag coverage: spec_tags=['tensorflow'], status_tags=['tensorflow'] [_pytest.compat] name=test_imagestream_health 2026-07-19T09:58:55.730852Z [info ] Checked ImageStream tag runtime-tensorflow:tensorflow (items_count=1, import_success=N/A) [_pytest.compat] name=test_imagestream_health  TEST: test_workbench_imagestreams_health[test_runtime_imagestreams] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 4 of 4 completed, 3 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 1 Error, 0 ReRun _ ================== 3 passed, 55 deselected, 1 error in 59.66s ================== ==================================== ERRORS ==================================== _ ERROR at setup of TestNotebook.test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0] _ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1171, in retry_cluster_exceptions for sample in sampler: ^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 171, in __iter__ raise TimeoutExpiredError( self._get_exception_log(exp=last_exp), last_exp=last_exp, elapsed_time=elapsed_time ) timeout_sampler.TimeoutExpiredError: Timed Out: 10 Function: kubernetes.dynamic.client.create Kwargs: {'body': {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'test-odh-notebook', 'labels': {'opendatahub.io/dashboard': 'true'}}}, 'namespace': None} Last exception: ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) . Elapsed time: 0.026893138885498047 [0:00:00.026893] The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 895, in pytest_runtest_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 170, in pytest_runtest_setup item.session._setupstate.setup(item) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 536, in setup col.setup() ~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1710, in setup self._request._fillfixtures() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 806, in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 630, in getfixturevalue fixturedef = self._get_active_fixturedef(argname) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 726, in _get_active_fixturedef fixturedef.execute(request=subrequest) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1232, in execute result: FixtureValue = ihook.pytest_fixture_setup( ~~~~~~~~~~~~~~~~~~~~~~~~~~^ fixturedef=self, request=request ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pytest_asyncio/plugin.py", line 924, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/setuponly.py", line 36, in pytest_fixture_setup return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 1328, in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/fixtures.py", line 998, in call_fixture_func fixture_result = next(generator) File "/home/odh/opendatahub-tests/tests/conftest.py", line 636, in unprivileged_model_namespace with create_ns( ~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... teardown=teardown_resources, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) as ns: ^ File "/usr/lib64/python3.14/contextlib.py", line 141, in __enter__ return next(self.gen) File "/home/odh/opendatahub-tests/utilities/infra.py", line 157, in create_ns project = ProjectRequest(**namespace_kwargs).deploy() File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/project_request.py", line 52, in deploy super().deploy(wait=wait) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 831, in deploy self.create(wait=wait) ~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1071, in create resource_ = Resource.retry_cluster_exceptions( func=self.api.create, exceptions_dict=exceptions_dict, **resource_kwargs ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/ocp_resources/resource.py", line 1176, in retry_cluster_exceptions raise exp.last_exp from exp File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 162, in __iter__ yield self.func(*self.func_args, **self.func_kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 119, in create return self.request('post', path, body=body, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 57, in inner raise api_exception(e) kubernetes.dynamic.exceptions.ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) - generated xml file: /workspace/tests-shared/tests-payload/results/workbenches-smoke.xml - =========================== short test summary info ============================ ERROR tests/workbenches/notebooks_server/controller/test_spawning.py::TestNotebook::test_create_simple_notebook[unprivileged_model_namespace0-users_persistent_volume_claim0-default_notebook0-notebook_pod0] - kubernetes.dynamic.exceptions.ConflictError: 409 Reason: Conflict HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f6b0fb75-7abb-45b4-bb49-530ab9e9e05f, f6b0fb75-7abb-45b4-bb49-530ab9e9e05f', 'Cache-Control': 'no-cache, private, no-store', 'Content-Length': '270', 'Content-Type': 'application/json', 'Date': 'Sun, 19 Jul 2026 09:57:58 GMT', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': '166a5be2-9ec1-4591-b6bd-7ae41ddf7ba0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '80f1606f-0424-4173-ba01-beaca33539cb'}) HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"project.project.openshift.io \\"test-odh-notebook\\" already exists","reason":"AlreadyExists","details":{"name":"test-odh-notebook","group":"project.openshift.io","kind":"project"},"code":409}\n' Original traceback: File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 55, in inner resp = func(self, *args, **kwargs) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/dynamic/client.py", line 277, in request api_response = self.client.call_api( path, ...<11 lines>... _request_timeout=params.get('_request_timeout') ) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 348, in call_api return self.__call_api(resource_path, method, ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ path_params, query_params, header_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... _return_http_data_only, collection_formats, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _preload_content, _request_timeout, _host) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 180, in __call_api response_data = self.request( method, url, query_params=query_params, headers=header_params, post_params=post_params, body=body, _preload_content=_preload_content, _request_timeout=_request_timeout) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/api_client.py", line 391, in request return self.rest_client.POST(url, ~~~~~~~~~~~~~~~~~~~~~^^^^^ query_params=query_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 279, in POST return self.request("POST", url, ~~~~~~~~~~~~^^^^^^^^^^^^^ headers=headers, ^^^^^^^^^^^^^^^^ ...<3 lines>... _request_timeout=_request_timeout, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ body=body) ^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/kubernetes/client/rest.py", line 238, in request raise ApiException(http_resp=r) ================== 3 passed, 55 deselected, 1 error in 59.67s ==================