--- BVT pytest attempt 2026-07-08T13:16:00.393288+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-07-08T13:16:01.970105Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-07-08T13:16:01.970408Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-08T13:16:01.970672Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T13:16:02.083666Z [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.120.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 5 items / 2 deselected / 3 selected tests/cluster_health/test_operator_health.py::test_data_science_cluster_initialization_healthy  ----------------------------------- test_data_science_cluster_initialization_healthy ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-08T13:16:02.147741Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-07-08T13:16:02.147921Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-07-08T13:16:02.148080Z [info ] Executing session fixture: admin_client [conftest] 2026-07-08T13:16:02.152061Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-08T13:16:02.152230Z [info ] Executing session fixture: dsc_resource [conftest] 2026-07-08T13:16:02.152387Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T13:16:02.245234Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-07-08T13:16:02.245498Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-07-08T13:16:02.246388Z [info ] Executing session fixture: os_path_environment [conftest] 2026-07-08T13:16:02.246515Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-07-08T13:16:02.246729Z [info ] Executing session fixture: bin_directory [conftest] 2026-07-08T13:16:02.247760Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-07-08T13:16:02.247980Z [info ] kind: ConsoleCLIDownload api version: console.openshift.io/v1 [ocp_resources.resource] 2026-07-08T13:16:02.285451Z [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-08T13:16:02.285623Z [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-08T13:16:02.287909Z [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-08T13:16:02.351374Z [info ] Elapsed time: 5.3882598876953125e-05 [0:00:00.000054] [timeout_sampler] 2026-07-08T13:16:03.024781Z [info ] Extract the downloaded archive. [utilities.infra] name=utilities.infra 2026-07-08T13:16:03.144567Z [info ] Downloaded file: ['oc']  [utilities.infra] name=utilities.infra 2026-07-08T13:16:03.192054Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-07-08T13:16:03.185079Z [info ] OC binary path: /tmp/pytest-MBKnG97XPvRgBbWsVi2hHQ/bin0/oc [tests.conftest] name=tests.conftest 2026-07-08T13:16:03.185204Z [info ] Adding /tmp/pytest-MBKnG97XPvRgBbWsVi2hHQ/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-07-08T13:16:03.192564Z [info ] Executing session fixture: nodes [conftest] 2026-07-08T13:16:03.243623Z [info ] Executing session fixture: dsci_resource [conftest] 2026-07-08T13:16:03.243929Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T13:16:03.268711Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-07-08T13:16:03.268879Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-07-08T13:16:03.269018Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-07-08T13:16:03.266416Z [info ] Skipping cluster sanity check because selected tests include cluster/operator/component health [tests.conftest] name=tests.conftest 2026-07-08T13:16:03.269268Z [info ] Executing session fixture: autouse_fixtures [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T13:16:03.269533Z [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-08T13:16:03.267917Z [info ] Wait for DSCI default-dsci to be in Ready status. [utilities.infra] name=utilities.infra 2026-07-08T13:16:03.269859Z [info ] Get DSCInitialization default-dsci status [ocp_resources DSCInitialization] PASSED2026-07-08T13:16:03.294031Z [info ] Elapsed time: 9.441375732421875e-05 [0:00:00.000094] [timeout_sampler]  TEST: test_data_science_cluster_initialization_healthy STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 1 of 3 completed, 1 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/cluster_health/test_operator_health.py::test_data_science_cluster_healthy  ------------------------------------------ test_data_science_cluster_healthy ------------------------------------------ -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T13:16:03.296132Z [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-08T13:16:03.295229Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:03.296463Z [info ] Get DataScienceCluster default-dsc status [ocp_resources DataScienceCluster] 2026-07-08T13:16:08.366227Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:13.434923Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:18.504571Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:23.574133Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:28.639345Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:33.710690Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:38.779225Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:43.846491Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:48.915133Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:54.003100Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:16:59.074146Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:04.138320Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:09.209564Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:14.275960Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:19.371870Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:24.437667Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:29.513955Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:34.592280Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:39.721479Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:44.788902Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:49.865443Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:17:54.933204Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T13:18:00.006174Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra FAILED ______________________ test_data_science_cluster_healthy _______________________ 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 900, in pytest_runtest_call 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/skipping.py", line 268, in pytest_runtest_call 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 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 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/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 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/cluster_health/test_operator_health.py", line 27, in test_data_science_cluster_healthy wait_for_dsc_status_ready(dsc_resource=dsc_resource) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 280, in wrapper for sample in TimeoutSampler( ~~~~~~~~~~~~~~^ func=func, ^^^^^^^^^^ ...<7 lines>... **kwargs, ^^^^^^^^^ ): ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 182, in __iter__ raise TimeoutExpiredError(self._get_exception_log(exp=last_exp), last_exp=last_exp) timeout_sampler.TimeoutExpiredError: Timed Out: 120 Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': } Last exception: ResourceNotReadyError: DSC default-dsc is not ready. Current status: {'components': {'aigateway': {}, 'aipipelines': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Pipelines', 'repoUrl': 'https://github.com/kubeflow/pipelines', 'version': '2.16.0'}]}, 'dashboard': {'managementState': 'Managed'}, 'feastoperator': {'managementState': 'Managed', 'releases': [{'name': 'Feast', 'repoUrl': 'https://github.com/feast-dev/feast', 'version': '0.64.0'}]}, 'kserve': {'managementState': 'Managed', 'releases': [{'name': 'KServe', 'repoUrl': 'https://github.com/kserve/kserve/', 'version': 'v0.19.0'}, {'name': 'vLLM', 'repoUrl': 'https://github.com/vllm-project/vllm', 'version': 'v0.21.0'}, {'name': 'llm-d-router', 'repoUrl': 'https://github.com/llm-d/llm-d-router', 'version': 'v0.9.0'}, {'name': 'llm-d-workload-variant-autoscaler', 'repoUrl': 'https://github.com/llm-d/llm-d-workload-variant-autoscaler', 'version': 'v0.8.0'}]}, 'kueue': {'managementState': 'Unmanaged'}, 'llamastackoperator': {}, 'mlflowoperator': {'managementState': 'Managed', 'releases': [{'name': 'MLflow', 'repoUrl': 'https://github.com/mlflow/mlflow', 'version': 'v3.13.0'}]}, 'modelregistry': {'managementState': 'Managed', 'registriesNamespace': 'rhoai-model-registries', 'releases': [{'name': 'Kubeflow Model Registry', 'repoUrl': 'https://github.com/kubeflow/model-registry', 'version': 'latest'}, {'name': 'Open Data Hub Model Registry Operator', 'repoUrl': 'https://github.com/opendatahub-io/model-registry-operator', 'version': 'latest'}]}, 'ogx': {'managementState': 'Managed', 'releases': [{'name': 'OGX', 'repoUrl': 'https://github.com/opendatahub-io/ogx-distribution', 'version': 'v1.1.2'}, {'name': 'OGX Operator', 'repoUrl': 'https://github.com/opendatahub-io/ogx-k8s-operator', 'version': 'v0.11.0'}]}, 'ray': {'managementState': 'Managed', 'releases': [{'name': 'KubeRay', 'repoUrl': 'https://github.com/ray-project/kuberay', 'version': '1.4.2'}]}, 'sparkoperator': {'managementState': 'Managed', 'releases': [{'name': 'Spark Operator', 'repoUrl': 'https://github.com/opendatahub-io/spark-operator', 'version': 'v2.4.0'}, {'name': 'Spark', 'repoUrl': 'https://github.com/apache/spark', 'version': '4.0.1'}]}, 'trainer': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Trainer', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '2.1.0'}]}, 'trainingoperator': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Training Operator', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '1.9.0'}]}, 'trustyai': {'managementState': 'Managed', 'releases': [{'name': 'TrustyAI operator', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI service', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-explainability', 'version': 'v0.28.0'}, {'name': 'TrustyAI LMEval driver', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI LMEval job', 'repoUrl': 'https://github.com/EleutherAI/lm-evaluation-harness', 'version': 'v0.4.8'}, {'name': 'TrustyAI Guardrails orchestrator', 'repoUrl': 'https://github.com/foundation-model-stack/fms-guardrails-orchestrator', 'version': '0.9.4'}, {'name': 'TrustyAI builtin detectors', 'repoUrl': 'https://github.com/trustyai-explainability/guardrails-regex-detector', 'version': 'v0.2.0'}, {'name': 'TrustyAI sidecar gateway', 'repoUrl': 'https://github.com/trustyai-explainability/vllm-orchestrator-gateway', 'version': 'v0.2.1'}, {'name': 'EvalHub', 'repoUrl': 'https://github.com/eval-hub/eval-hub', 'version': 'v0.3.0'}]}, 'workbenches': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Notebook Controller', 'repoUrl': 'https://github.com/kubeflow/kubeflow', 'version': '1.10.0'}], 'workbenchNamespace': 'rhods-notebooks'}}, 'conditions': [{'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'observedGeneration': 10, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T10:40:42Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:42:13Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'message': 'apply: apply Deployment openshift-ingress/payload-pre-processing: ' 'Deployment.apps "payload-pre-processing" is invalid: ' 'spec.selector: Invalid value: ' '{"matchLabels":{"app":"payload-pre-processing","app.kubernetes.io/component":"api","app.kubernetes.io/name":"maas-api","app.kubernetes.io/part-of":"models-as-a-service"}}: ' 'field is immutable', 'reason': 'PlatformReconcileFailed', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 1, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. _ 2 of 3 completed, 1 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/cluster_health/test_operator_health.py::test_pods_cluster_healthy[test_operator_namespace_pod_healthy]  TEST: test_data_science_cluster_healthy STATUS: FAILED 2026-07-08T13:18:05.184765Z [error ] 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 900, in pytest_runtest_call 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/skipping.py", line 268, in pytest_runtest_call 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 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 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/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 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/cluster_health/test_operator_health.py", line 27, in test_data_science_cluster_healthy wait_for_dsc_status_ready(dsc_resource=dsc_resource) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 280, in wrapper for sample in TimeoutSampler( ~~~~~~~~~~~~~~^ func=func, ^^^^^^^^^^ ...<7 lines>... **kwargs, ^^^^^^^^^ ): ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 182, in __iter__ raise TimeoutExpiredError(self._get_exception_log(exp=last_exp), last_exp=last_exp) timeout_sampler.TimeoutExpiredError: Timed Out: 120 Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': } Last exception: ResourceNotReadyError: DSC default-dsc is not ready. Current status: {'components': {'aigateway': {}, 'aipipelines': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Pipelines', 'repoUrl': 'https://github.com/kubeflow/pipelines', 'version': '2.16.0'}]}, 'dashboard': {'managementState': 'Managed'}, 'feastoperator': {'managementState': 'Managed', 'releases': [{'name': 'Feast', 'repoUrl': 'https://github.com/feast-dev/feast', 'version': '0.64.0'}]}, 'kserve': {'managementState': 'Managed', 'releases': [{'name': 'KServe', 'repoUrl': 'https://github.com/kserve/kserve/', 'version': 'v0.19.0'}, {'name': 'vLLM', 'repoUrl': 'https://github.com/vllm-project/vllm', 'version': 'v0.21.0'}, {'name': 'llm-d-router', 'repoUrl': 'https://github.com/llm-d/llm-d-router', 'version': 'v0.9.0'}, {'name': 'llm-d-workload-variant-autoscaler', 'repoUrl': 'https://github.com/llm-d/llm-d-workload-variant-autoscaler', 'version': 'v0.8.0'}]}, 'kueue': {'managementState': 'Unmanaged'}, 'llamastackoperator': {}, 'mlflowoperator': {'managementState': 'Managed', 'releases': [{'name': 'MLflow', 'repoUrl': 'https://github.com/mlflow/mlflow', 'version': 'v3.13.0'}]}, 'modelregistry': {'managementState': 'Managed', 'registriesNamespace': 'rhoai-model-registries', 'releases': [{'name': 'Kubeflow Model Registry', 'repoUrl': 'https://github.com/kubeflow/model-registry', 'version': 'latest'}, {'name': 'Open Data Hub Model Registry Operator', 'repoUrl': 'https://github.com/opendatahub-io/model-registry-operator', 'version': 'latest'}]}, 'ogx': {'managementState': 'Managed', 'releases': [{'name': 'OGX', 'repoUrl': 'https://github.com/opendatahub-io/ogx-distribution', 'version': 'v1.1.2'}, {'name': 'OGX Operator', 'repoUrl': 'https://github.com/opendatahub-io/ogx-k8s-operator', 'version': 'v0.11.0'}]}, 'ray': {'managementState': 'Managed', 'releases': [{'name': 'KubeRay', 'repoUrl': 'https://github.com/ray-project/kuberay', 'version': '1.4.2'}]}, 'sparkoperator': {'managementState': 'Managed', 'releases': [{'name': 'Spark Operator', 'repoUrl': 'https://github.com/opendatahub-io/spark-operator', 'version': 'v2.4.0'}, {'name': 'Spark', 'repoUrl': 'https://github.com/apache/spark', 'version': '4.0.1'}]}, 'trainer': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Trainer', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '2.1.0'}]}, 'trainingoperator': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Training Operator', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '1.9.0'}]}, 'trustyai': {'managementState': 'Managed', 'releases': [{'name': 'TrustyAI operator', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI service', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-explainability', 'version': 'v0.28.0'}, {'name': 'TrustyAI LMEval driver', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI LMEval job', 'repoUrl': 'https://github.com/EleutherAI/lm-evaluation-harness', 'version': 'v0.4.8'}, {'name': 'TrustyAI Guardrails orchestrator', 'repoUrl': 'https://github.com/foundation-model-stack/fms-guardrails-orchestrator', 'version': '0.9.4'}, {'name': 'TrustyAI builtin detectors', 'repoUrl': 'https://github.com/trustyai-explainability/guardrails-regex-detector', 'version': 'v0.2.0'}, {'name': 'TrustyAI sidecar gateway', 'repoUrl': 'https://github.com/trustyai-explainability/vllm-orchestrator-gateway', 'version': 'v0.2.1'}, {'name': 'EvalHub', 'repoUrl': 'https://github.com/eval-hub/eval-hub', 'version': 'v0.3.0'}]}, 'workbenches': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Notebook Controller', 'repoUrl': 'https://github.com/kubeflow/kubeflow', 'version': '1.10.0'}], 'workbenchNamespace': 'rhods-notebooks'}}, 'conditions': [{'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'observedGeneration': 10, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T10:40:42Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:42:13Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'message': 'apply: apply Deployment openshift-ingress/payload-pre-processing: ' 'Deployment.apps "payload-pre-processing" is invalid: ' 'spec.selector: Invalid value: ' '{"matchLabels":{"app":"payload-pre-processing","app.kubernetes.io/component":"api","app.kubernetes.io/name":"maas-api","app.kubernetes.io/part-of":"models-as-a-service"}}: ' 'field is immutable', 'reason': 'PlatformReconcileFailed', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 1, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. [conftest] ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------- test_pods_cluster_healthy[test_operator_namespace_pod_healthy] ---------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-08T13:18:05.185463Z [info ] Executing function fixture: namespace_name [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T13:18:05.184012Z [info ] Testing Pods in namespace redhat-ods-operator for cluster health [_pytest.compat] name=tests.cluster_health.test_operator_health 2026-07-08T13:18:05.185882Z [info ] Waiting for 180 seconds [0:03:00], retry every 5 seconds. (Function: utilities.general..lambda: admin_client.namespace_name.get_not_running_pods.list.Pod.get) [timeout_sampler] PASSED2026-07-08T13:18:05.396795Z [info ] Elapsed time: 4.0531158447265625e-05 [0:00:00.000041] [timeout_sampler]  TEST: test_pods_cluster_healthy[test_operator_namespace_pod_healthy] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 3 of 3 completed, 2 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ ============ 1 failed, 2 passed, 2 deselected in 123.29s (0:02:03) ============= =================================== FAILURES =================================== ______________________ test_data_science_cluster_healthy _______________________ 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 900, in pytest_runtest_call 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/skipping.py", line 268, in pytest_runtest_call 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 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 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/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 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/cluster_health/test_operator_health.py", line 27, in test_data_science_cluster_healthy wait_for_dsc_status_ready(dsc_resource=dsc_resource) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 280, in wrapper for sample in TimeoutSampler( ~~~~~~~~~~~~~~^ func=func, ^^^^^^^^^^ ...<7 lines>... **kwargs, ^^^^^^^^^ ): ^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/timeout_sampler/__init__.py", line 182, in __iter__ raise TimeoutExpiredError(self._get_exception_log(exp=last_exp), last_exp=last_exp) timeout_sampler.TimeoutExpiredError: Timed Out: 120 Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': } Last exception: ResourceNotReadyError: DSC default-dsc is not ready. Current status: {'components': {'aigateway': {}, 'aipipelines': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Pipelines', 'repoUrl': 'https://github.com/kubeflow/pipelines', 'version': '2.16.0'}]}, 'dashboard': {'managementState': 'Managed'}, 'feastoperator': {'managementState': 'Managed', 'releases': [{'name': 'Feast', 'repoUrl': 'https://github.com/feast-dev/feast', 'version': '0.64.0'}]}, 'kserve': {'managementState': 'Managed', 'releases': [{'name': 'KServe', 'repoUrl': 'https://github.com/kserve/kserve/', 'version': 'v0.19.0'}, {'name': 'vLLM', 'repoUrl': 'https://github.com/vllm-project/vllm', 'version': 'v0.21.0'}, {'name': 'llm-d-router', 'repoUrl': 'https://github.com/llm-d/llm-d-router', 'version': 'v0.9.0'}, {'name': 'llm-d-workload-variant-autoscaler', 'repoUrl': 'https://github.com/llm-d/llm-d-workload-variant-autoscaler', 'version': 'v0.8.0'}]}, 'kueue': {'managementState': 'Unmanaged'}, 'llamastackoperator': {}, 'mlflowoperator': {'managementState': 'Managed', 'releases': [{'name': 'MLflow', 'repoUrl': 'https://github.com/mlflow/mlflow', 'version': 'v3.13.0'}]}, 'modelregistry': {'managementState': 'Managed', 'registriesNamespace': 'rhoai-model-registries', 'releases': [{'name': 'Kubeflow Model Registry', 'repoUrl': 'https://github.com/kubeflow/model-registry', 'version': 'latest'}, {'name': 'Open Data Hub Model Registry Operator', 'repoUrl': 'https://github.com/opendatahub-io/model-registry-operator', 'version': 'latest'}]}, 'ogx': {'managementState': 'Managed', 'releases': [{'name': 'OGX', 'repoUrl': 'https://github.com/opendatahub-io/ogx-distribution', 'version': 'v1.1.2'}, {'name': 'OGX Operator', 'repoUrl': 'https://github.com/opendatahub-io/ogx-k8s-operator', 'version': 'v0.11.0'}]}, 'ray': {'managementState': 'Managed', 'releases': [{'name': 'KubeRay', 'repoUrl': 'https://github.com/ray-project/kuberay', 'version': '1.4.2'}]}, 'sparkoperator': {'managementState': 'Managed', 'releases': [{'name': 'Spark Operator', 'repoUrl': 'https://github.com/opendatahub-io/spark-operator', 'version': 'v2.4.0'}, {'name': 'Spark', 'repoUrl': 'https://github.com/apache/spark', 'version': '4.0.1'}]}, 'trainer': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Trainer', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '2.1.0'}]}, 'trainingoperator': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Training Operator', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '1.9.0'}]}, 'trustyai': {'managementState': 'Managed', 'releases': [{'name': 'TrustyAI operator', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI service', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-explainability', 'version': 'v0.28.0'}, {'name': 'TrustyAI LMEval driver', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI LMEval job', 'repoUrl': 'https://github.com/EleutherAI/lm-evaluation-harness', 'version': 'v0.4.8'}, {'name': 'TrustyAI Guardrails orchestrator', 'repoUrl': 'https://github.com/foundation-model-stack/fms-guardrails-orchestrator', 'version': '0.9.4'}, {'name': 'TrustyAI builtin detectors', 'repoUrl': 'https://github.com/trustyai-explainability/guardrails-regex-detector', 'version': 'v0.2.0'}, {'name': 'TrustyAI sidecar gateway', 'repoUrl': 'https://github.com/trustyai-explainability/vllm-orchestrator-gateway', 'version': 'v0.2.1'}, {'name': 'EvalHub', 'repoUrl': 'https://github.com/eval-hub/eval-hub', 'version': 'v0.3.0'}]}, 'workbenches': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Notebook Controller', 'repoUrl': 'https://github.com/kubeflow/kubeflow', 'version': '1.10.0'}], 'workbenchNamespace': 'rhods-notebooks'}}, 'conditions': [{'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'observedGeneration': 10, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T10:40:42Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:42:13Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'message': 'apply: apply Deployment openshift-ingress/payload-pre-processing: ' 'Deployment.apps "payload-pre-processing" is invalid: ' 'spec.selector: Invalid value: ' '{"matchLabels":{"app":"payload-pre-processing","app.kubernetes.io/component":"api","app.kubernetes.io/name":"maas-api","app.kubernetes.io/part-of":"models-as-a-service"}}: ' 'field is immutable', 'reason': 'PlatformReconcileFailed', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 1, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. - generated xml file: /workspace/tests-shared/tests-payload/results/operator-health-core.xml - =========================== short test summary info ============================ FAILED tests/cluster_health/test_operator_health.py::test_data_science_cluster_healthy - timeout_sampler.TimeoutExpiredError: Timed Out: 120 Function: utilities.infra.wait_for_dsc_status_ready Kwargs: {'dsc_resource': } Last exception: ResourceNotReadyError: DSC default-dsc is not ready. Current status: {'components': {'aigateway': {}, 'aipipelines': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Pipelines', 'repoUrl': 'https://github.com/kubeflow/pipelines', 'version': '2.16.0'}]}, 'dashboard': {'managementState': 'Managed'}, 'feastoperator': {'managementState': 'Managed', 'releases': [{'name': 'Feast', 'repoUrl': 'https://github.com/feast-dev/feast', 'version': '0.64.0'}]}, 'kserve': {'managementState': 'Managed', 'releases': [{'name': 'KServe', 'repoUrl': 'https://github.com/kserve/kserve/', 'version': 'v0.19.0'}, {'name': 'vLLM', 'repoUrl': 'https://github.com/vllm-project/vllm', 'version': 'v0.21.0'}, {'name': 'llm-d-router', 'repoUrl': 'https://github.com/llm-d/llm-d-router', 'version': 'v0.9.0'}, {'name': 'llm-d-workload-variant-autoscaler', 'repoUrl': 'https://github.com/llm-d/llm-d-workload-variant-autoscaler', 'version': 'v0.8.0'}]}, 'kueue': {'managementState': 'Unmanaged'}, 'llamastackoperator': {}, 'mlflowoperator': {'managementState': 'Managed', 'releases': [{'name': 'MLflow', 'repoUrl': 'https://github.com/mlflow/mlflow', 'version': 'v3.13.0'}]}, 'modelregistry': {'managementState': 'Managed', 'registriesNamespace': 'rhoai-model-registries', 'releases': [{'name': 'Kubeflow Model Registry', 'repoUrl': 'https://github.com/kubeflow/model-registry', 'version': 'latest'}, {'name': 'Open Data Hub Model Registry Operator', 'repoUrl': 'https://github.com/opendatahub-io/model-registry-operator', 'version': 'latest'}]}, 'ogx': {'managementState': 'Managed', 'releases': [{'name': 'OGX', 'repoUrl': 'https://github.com/opendatahub-io/ogx-distribution', 'version': 'v1.1.2'}, {'name': 'OGX Operator', 'repoUrl': 'https://github.com/opendatahub-io/ogx-k8s-operator', 'version': 'v0.11.0'}]}, 'ray': {'managementState': 'Managed', 'releases': [{'name': 'KubeRay', 'repoUrl': 'https://github.com/ray-project/kuberay', 'version': '1.4.2'}]}, 'sparkoperator': {'managementState': 'Managed', 'releases': [{'name': 'Spark Operator', 'repoUrl': 'https://github.com/opendatahub-io/spark-operator', 'version': 'v2.4.0'}, {'name': 'Spark', 'repoUrl': 'https://github.com/apache/spark', 'version': '4.0.1'}]}, 'trainer': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Trainer', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '2.1.0'}]}, 'trainingoperator': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Training Operator', 'repoUrl': 'https://github.com/kubeflow/trainer', 'version': '1.9.0'}]}, 'trustyai': {'managementState': 'Managed', 'releases': [{'name': 'TrustyAI operator', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI service', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-explainability', 'version': 'v0.28.0'}, {'name': 'TrustyAI LMEval driver', 'repoUrl': 'https://github.com/trustyai-explainability/trustyai-service-operator', 'version': 'v1.37.0'}, {'name': 'TrustyAI LMEval job', 'repoUrl': 'https://github.com/EleutherAI/lm-evaluation-harness', 'version': 'v0.4.8'}, {'name': 'TrustyAI Guardrails orchestrator', 'repoUrl': 'https://github.com/foundation-model-stack/fms-guardrails-orchestrator', 'version': '0.9.4'}, {'name': 'TrustyAI builtin detectors', 'repoUrl': 'https://github.com/trustyai-explainability/guardrails-regex-detector', 'version': 'v0.2.0'}, {'name': 'TrustyAI sidecar gateway', 'repoUrl': 'https://github.com/trustyai-explainability/vllm-orchestrator-gateway', 'version': 'v0.2.1'}, {'name': 'EvalHub', 'repoUrl': 'https://github.com/eval-hub/eval-hub', 'version': 'v0.3.0'}]}, 'workbenches': {'managementState': 'Managed', 'releases': [{'name': 'Kubeflow Notebook Controller', 'repoUrl': 'https://github.com/kubeflow/kubeflow', 'version': '1.10.0'}], 'workbenchNamespace': 'rhods-notebooks'}}, 'conditions': [{'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'observedGeneration': 10, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T13:04:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T10:41:07Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T10:40:42Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:42:13Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'message': 'apply: apply Deployment openshift-ingress/payload-pre-processing: ' 'Deployment.apps "payload-pre-processing" is invalid: ' 'spec.selector: Invalid value: ' '{"matchLabels":{"app":"payload-pre-processing","app.kubernetes.io/component":"api","app.kubernetes.io/name":"maas-api","app.kubernetes.io/part-of":"models-as-a-service"}}: ' 'field is immutable', 'reason': 'PlatformReconcileFailed', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T13:04:20Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 1, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. ============ 1 failed, 2 passed, 2 deselected in 123.29s (0:02:03) =============