--- BVT pytest attempt 2026-07-08T12:02:36.737718+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-07-08T12:02:38.167954Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-07-08T12:02:38.168357Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-08T12:02:38.176540Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T12:02:38.224843Z [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 / 1 deselected / 4 selected tests/cluster_health/test_operator_health.py::test_data_science_cluster_initialization_healthy  ----------------------------------- test_data_science_cluster_initialization_healthy ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-08T12:02:38.264853Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-07-08T12:02:38.265231Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-07-08T12:02:38.265400Z [info ] Executing session fixture: admin_client [conftest] 2026-07-08T12:02:38.265595Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-08T12:02:38.269985Z [info ] Executing session fixture: dsc_resource [conftest] 2026-07-08T12:02:38.270118Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T12:02:38.297986Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-07-08T12:02:38.298129Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-07-08T12:02:38.298859Z [info ] Executing session fixture: os_path_environment [conftest] 2026-07-08T12:02:38.298984Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-07-08T12:02:38.299107Z [info ] Executing session fixture: bin_directory [conftest] 2026-07-08T12:02:38.300010Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-07-08T12:02:38.300187Z [info ] kind: ConsoleCLIDownload api version: console.openshift.io/v1 [ocp_resources.resource] 2026-07-08T12:02:38.310052Z [info ] All oc console cli download links: ['https://downloads-openshift-console.apps.0886dc11-2971-42da-a7e2-b7cfcb0d2df6.prod.konfluxeaas.com/amd64/linux/oc.tar'] [utilities.infra] name=utilities.infra 2026-07-08T12:02:38.310138Z [info ] Downloading archive using: url=https://downloads-openshift-console.apps.0886dc11-2971-42da-a7e2-b7cfcb0d2df6.prod.konfluxeaas.com/amd64/linux/oc.tar [utilities.infra] name=utilities.infra 2026-07-08T12:02:38.310920Z [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.0886dc11-2971-42da-a7e2-b7cfcb0d2df6.prod.konfluxeaas.com/amd64/linux/oc.tar'}) [timeout_sampler] 2026-07-08T12:02:38.330658Z [info ] Elapsed time: 4.935264587402344e-05 [0:00:00.000049] [timeout_sampler] 2026-07-08T12:02:38.956663Z [info ] Extract the downloaded archive. [utilities.infra] name=utilities.infra 2026-07-08T12:02:39.042815Z [info ] Downloaded file: ['oc']  [utilities.infra] name=utilities.infra 2026-07-08T12:02:39.500058Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-07-08T12:02:39.498809Z [info ] OC binary path: /tmp/pytest-9F7q2ZcvHbAoDtZ4KVHsjz/bin0/oc [tests.conftest] name=tests.conftest 2026-07-08T12:02:39.498875Z [info ] Adding /tmp/pytest-9F7q2ZcvHbAoDtZ4KVHsjz/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-07-08T12:02:39.500492Z [info ] Executing session fixture: nodes [conftest] 2026-07-08T12:02:39.511457Z [info ] Executing session fixture: dsci_resource [conftest] 2026-07-08T12:02:39.511635Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-07-08T12:02:39.517177Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-07-08T12:02:39.517303Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-07-08T12:02:39.517413Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-07-08T12:02:39.516249Z [info ] Skipping cluster sanity check because selected tests include cluster/operator/component health [tests.conftest] name=tests.conftest 2026-07-08T12:02:39.517660Z [info ] Executing session fixture: autouse_fixtures [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T12:02:39.517889Z [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-08T12:02:39.516772Z [info ] Wait for DSCI default-dsci to be in Ready status. [utilities.infra] name=utilities.infra 2026-07-08T12:02:39.518104Z [info ] Get DSCInitialization default-dsci status [ocp_resources DSCInitialization] PASSED _ 1 of 4 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 2026-07-08T12:02:39.526682Z [info ] Elapsed time: 4.38690185546875e-05 [0:00:00.000044] [timeout_sampler]  TEST: test_data_science_cluster_initialization_healthy STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------------------------ test_data_science_cluster_healthy ------------------------------------------ -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T12:02:39.527344Z [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-08T12:02:39.526249Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:02:39.527650Z [info ] Get DataScienceCluster default-dsc status [ocp_resources DataScienceCluster] 2026-07-08T12:02:44.547205Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:02:49.569237Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:02:54.590760Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:02:59.614341Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:04.637280Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:09.662131Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:14.693680Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:19.717157Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:24.739967Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:29.767680Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:34.791283Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:39.816693Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:44.841075Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:49.863798Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:54.886105Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:03:59.907791Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:04.930438Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:09.954292Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:14.978104Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:20.003145Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:25.027959Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:30.053472Z [info ] Wait for DSC default-dsc are Ready. [utilities.infra] name=utilities.infra 2026-07-08T12:04:35.084249Z [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': 'Removed'}, '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-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T11:51:35Z', 'observedGeneration': 5, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'Component ManagementState is set to Removed', 'reason': 'Removed', 'severity': 'Info', 'status': 'False', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T11:37:17Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': "database Secret 'maas-db-config' not found in namespace " "'redhat-ods-applications'. Create the Secret with key " "'DB_CONNECTION_URL' containing the PostgreSQL connection URL. " 'MaaS API cannot start without a database connection; User ' 'Workload Monitoring not configured: ConfigMap ' "'cluster-monitoring-config' not found in 'openshift-monitoring'. " 'Showback/FinOps usage views will not work without User Workload ' 'Monitoring enabled', 'reason': 'PrerequisitesNotMet', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 2, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. _ 2 of 4 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-08T12:04:40.114805Z [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': 'Removed'}, '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-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T11:51:35Z', 'observedGeneration': 5, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'Component ManagementState is set to Removed', 'reason': 'Removed', 'severity': 'Info', 'status': 'False', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T11:37:17Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': "database Secret 'maas-db-config' not found in namespace " "'redhat-ods-applications'. Create the Secret with key " "'DB_CONNECTION_URL' containing the PostgreSQL connection URL. " 'MaaS API cannot start without a database connection; User ' 'Workload Monitoring not configured: ConfigMap ' "'cluster-monitoring-config' not found in 'openshift-monitoring'. " 'Showback/FinOps usage views will not work without User Workload ' 'Monitoring enabled', 'reason': 'PrerequisitesNotMet', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 2, '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-08T12:04:40.115539Z [info ] Executing function fixture: namespace_name [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T12:04:40.114261Z [info ] Testing Pods in namespace redhat-ods-operator for cluster health [_pytest.compat] name=tests.cluster_health.test_operator_health 2026-07-08T12:04:40.115910Z [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] PASSED _ 3 of 4 completed, 2 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_application_namespace_pod_healthy] 2026-07-08T12:04:40.177902Z [info ] Elapsed time: 4.00543212890625e-05 [0:00:00.000040] [timeout_sampler]  TEST: test_pods_cluster_healthy[test_operator_namespace_pod_healthy] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------- test_pods_cluster_healthy[test_application_namespace_pod_healthy] -------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-08T12:04:40.178709Z [info ] Executing function fixture: namespace_name [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-08T12:04:40.177500Z [info ] Testing Pods in namespace redhat-ods-applications for cluster health [_pytest.compat] name=tests.cluster_health.test_operator_health 2026-07-08T12:04:40.179036Z [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-08T12:04:40.421699Z [info ] Elapsed time: 4.076957702636719e-05 [0:00:00.000041] [timeout_sampler]  TEST: test_pods_cluster_healthy[test_application_namespace_pod_healthy] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 4 of 4 completed, 3 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ ============ 1 failed, 3 passed, 1 deselected in 122.20s (0:02:02) ============= =================================== 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': 'Removed'}, '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-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T11:51:35Z', 'observedGeneration': 5, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'Component ManagementState is set to Removed', 'reason': 'Removed', 'severity': 'Info', 'status': 'False', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T11:37:17Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': "database Secret 'maas-db-config' not found in namespace " "'redhat-ods-applications'. Create the Secret with key " "'DB_CONNECTION_URL' containing the PostgreSQL connection URL. " 'MaaS API cannot start without a database connection; User ' 'Workload Monitoring not configured: ConfigMap ' "'cluster-monitoring-config' not found in 'openshift-monitoring'. " 'Showback/FinOps usage views will not work without User Workload ' 'Monitoring enabled', 'reason': 'PrerequisitesNotMet', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 2, '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.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': 'Removed'}, '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-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-08T11:51:35Z', 'observedGeneration': 5, 'status': 'True', 'type': 'ProvisioningSucceeded'}, {'lastTransitionTime': '2026-07-08T11:52:19Z', 'message': 'Some components are not ready: modelsasservice', 'reason': 'NotReady', 'status': 'False', 'type': 'ComponentsReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'AIPipelinesReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'DashboardReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'FeastOperatorReady'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceDependencies'}, {'lastTransitionTime': '2026-07-08T11:37:39Z', 'status': 'True', 'type': 'KserveLLMInferenceServiceWideEPDependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'KserveReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'Component ManagementState is set to Removed', 'reason': 'Removed', 'severity': 'Info', 'status': 'False', 'type': 'KueueReady'}, {'lastTransitionTime': '2026-07-08T11:37:17Z', 'status': 'True', 'type': 'LLM-D-WVADependencies'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'MLflowOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': 'MaaS gateway annotations and Authorino TLS are correctly ' 'configured', 'reason': 'MaaSPrerequisitesMet', 'status': 'True', 'type': 'MaaSPrerequisitesAvailable'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelControllerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'ModelRegistryReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'message': "database Secret 'maas-db-config' not found in namespace " "'redhat-ods-applications'. Create the Secret with key " "'DB_CONNECTION_URL' containing the PostgreSQL connection URL. " 'MaaS API cannot start without a database connection; User ' 'Workload Monitoring not configured: ConfigMap ' "'cluster-monitoring-config' not found in 'openshift-monitoring'. " 'Showback/FinOps usage views will not work without User Workload ' 'Monitoring enabled', 'reason': 'PrerequisitesNotMet', 'status': 'False', 'type': 'ModelsAsServiceReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'OGXReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'RayReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'SparkOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainerReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrainingOperatorReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'TrustyAIReady'}, {'lastTransitionTime': '2026-07-08T12:00:10Z', 'status': 'True', 'type': 'WorkbenchesReady'}], 'observedGeneration': 2, 'phase': 'Not Ready', 'release': {'name': 'OpenShift AI Self-Managed', 'version': '3.5.0-ea.2'}}. ============ 1 failed, 3 passed, 1 deselected in 122.20s (0:02:02) =============