--- BVT pytest attempt 2026-07-03T14:44:49.935751+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-07-03 14:44:52 [info ] Running model registry tests against default namespace name=tests.ai_hub.conftest 2026-07-03T14:44:52.354852+00:00 ocp_resources.resource INFO Trying to get client via new_client_from_config 2026-07-03T14:44:52.480900+00:00 ocp_resources.resource INFO kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 2026-07-03T14:44:52.519751Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-07-03T14:44:52.520133Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-03T14:44:52.522898Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-03T14:44:52.637528Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] ============================= test session starts ============================== platform linux -- Python 3.14.5, pytest-9.0.3, pluggy-1.6.0 -- /home/odh/opendatahub-tests/.venv/bin/python3 cachedir: .pytest_cache metadata: {'Python': '3.14.5', 'Platform': 'Linux-5.14.0-570.120.1.el9_6.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.0.3', 'pluggy': '1.6.0'}, 'Plugins': {'anyio': '4.13.0', 'langsmith': '0.8.5', 'asyncio': '1.3.0', 'dependency': '0.6.1', 'html': '4.2.0', 'metadata': '3.1.1', 'order': '1.4.0', 'progress': '1.4.0', 'testconfig': '0.2.0', 'xdist': '3.8.0', 'syrupy': '5.2.0'}} rootdir: /home/odh/opendatahub-tests configfile: pytest.ini plugins: anyio-4.13.0, langsmith-0.8.5, asyncio-1.3.0, dependency-0.6.1, html-4.2.0, metadata-3.1.1, order-1.4.0, progress-1.4.0, testconfig-0.2.0, xdist-3.8.0, syrupy-5.2.0 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... 2026-07-03T14:44:53.271157Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:44:53.271348Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:44:53.271536Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [1/3] in 15.70606997502175s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:44:53.271705Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [1/3] in 15.70606997502175s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:45:08.980008Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:45:08.980228Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:45:08.980362Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [2/3] in 29.55330448337471s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:45:08.980491Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [2/3] in 29.55330448337471s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:45:38.535015Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:45:38.535213Z [warning ] Got ConnectionError [HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused"))] errno:None on GET http://localhost:2990/jira/rest/api/2/serverInfo  [jira.resilientsession] 2026-07-03T14:45:38.535361Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [3/3] in 56.54067898032052s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:45:38.535527Z [warning ] Got recoverable error from GET http://localhost:2990/jira/rest/api/2/serverInfo, will retry [3/3] in 56.54067898032052s. Err: HTTPConnectionPool(host='localhost', port=2990): Max retries exceeded with url: /jira/rest/api/2/serverInfo (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2990): Failed to establish a new connection: [Errno 111] Connection refused")) [jira.resilientsession] 2026-07-03T14:46:35.077410Z [warning ] Failed to get Jira issue RHOAIENG-62675, assuming it is open [utilities.jira] name=utilities.jira collected 473 items / 441 deselected / 32 selected tests/ai_hub/image_validation/test_verify_rhoai_images.py::TestModelRegistryImages::test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0]  test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:46:35.546576Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-07-03T14:46:35.546772Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-07-03T14:46:35.546902Z [info ] Executing session fixture: admin_client [conftest] 2026-07-03T14:46:35.547020Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-03T14:46:35.548215Z [info ] Executing session fixture: dsc_resource [conftest] 2026-07-03T14:46:35.548351Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-03T14:46:35.651823Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-07-03T14:46:35.652157Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-07-03T14:46:35.653567Z [info ] Executing session fixture: os_path_environment [conftest] 2026-07-03T14:46:35.653970Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-07-03T14:46:35.654106Z [info ] Executing session fixture: bin_directory [conftest] 2026-07-03T14:46:35.654996Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-07-03T14:46:35.673258Z [info ] kind: ConsoleCLIDownload api version: console.openshift.io/v1 [ocp_resources.resource] 2026-07-03T14:46:35.709059Z [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-03T14:46:35.709176Z [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-03T14:46:36.450687Z [info ] Extract the downloaded archive. [utilities.infra] name=utilities.infra 2026-07-03T14:46:36.541296Z [info ] Downloaded file: ['oc']  [utilities.infra] name=utilities.infra 2026-07-03T14:46:36.560319Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-07-03T14:46:36.559279Z [info ] OC binary path: /tmp/pytest-crebdKJZ4eUa3AbKHv8vh8/bin0/oc [tests.conftest] name=tests.conftest 2026-07-03T14:46:36.559333Z [info ] Adding /tmp/pytest-crebdKJZ4eUa3AbKHv8vh8/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-07-03T14:46:36.560906Z [info ] Executing session fixture: nodes [conftest] 2026-07-03T14:46:37.880546Z [info ] Executing session fixture: dsci_resource [conftest] 2026-07-03T14:46:37.880724Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-07-03T14:46:37.900046Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-07-03T14:46:37.900198Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-07-03T14:46:37.900341Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-07-03T14:46:37.899578Z [info ] Check cluster sanity.  [utilities.infra] name=utilities.infra 2026-07-03T14:46:37.900773Z [info ] Verify all nodes are in a healthy condition. [ocp_utilities.infra] 2026-07-03T14:46:37.955212Z [info ] Verify all nodes are schedulable. [ocp_utilities.infra] 2026-07-03T14:46:38.010238Z [warning ] Skipping RHOAI resource checks, got --cluster-sanity-skip-rhoai-check [utilities.infra] name=utilities.infra 2026-07-03T14:46:38.011291Z [info ] Executing session fixture: autouse_fixtures [conftest] 2026-07-03T14:46:38.011438Z [info ] Executing session fixture: pytestconfig [conftest] 2026-07-03T14:46:38.011672Z [info ] Executing session fixture: updated_dsc_component_state_scope_session [conftest] 2026-07-03T14:46:38.011827Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-03T14:46:38.051425Z [info ] Model Registry is enabled by default and does not require any setup. [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:46:38.052133Z [info ] Executing session fixture: model_registry_namespace [conftest] 2026-07-03T14:46:38.071938Z [info ] Executing session fixture: related_images_refs [conftest] 2026-07-03T14:46:38.130928Z [info ] kind: ClusterServiceVersion api version: operators.coreos.com/v1alpha1 [ocp_resources.resource] 2026-07-03T14:46:38.217894Z [info ] Looking for rhods-operator.3.5.0-ea.1 CSV in namespace redhat-ods-applications [utilities.operator_utils] name=utilities.operator_utils 2026-07-03T14:46:38.249572Z [info ] Found cluster service version: rhods-operator.3.5.0-ea.1 [utilities.operator_utils] name=utilities.operator_utils 2026-07-03T14:46:38.282692Z [info ] Executing session fixture: teardown_resources [conftest] 2026-07-03T14:46:38.282900Z [info ] Executing class fixture: model_registry_metadata_db_resources [conftest] 2026-07-03T14:46:38.283093Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] 2026-07-03T14:46:38.279549Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:46:38.283833Z [info ] Create Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:46:38.284110Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Secret', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'namespace': 'rhoai-model-registries'}, 'stringData': '*******'} [ocp_resources Secret] 2026-07-03T14:46:38.327065Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:46:38.328522Z [info ] Create PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:46:38.328705Z [info ] Posting {'apiVersion': 'v1', 'kind': 'PersistentVolumeClaim', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'volumeMode': 'Filesystem', 'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:46:38.369772Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:46:38.371418Z [info ] Create Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:46:38.371698Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Service', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'mysql://{.spec.clusterIP}:{.spec.ports[?(.name==\\mysql\\)].port}'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'ports': [{'name': 'mysql', 'nodePort': 0, 'port': 3306, 'protocol': 'TCP', 'appProtocol': 'tcp', 'targetPort': 3306}], 'selector': {'name': 'db-model-registry0'}}} [ocp_resources Service] 2026-07-03T14:46:38.418018Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:46:38.421476Z [info ] Create Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:46:38.421703Z [info ] Posting {'apiVersion': 'apps/v1', 'kind': 'Deployment', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.alpha.openshift.io/wait-for-ready': 'true'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'env': [{'name': 'MYSQL_USER', 'valueFrom': {'secretKeyRef': {'key': 'database-user', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_PASSWORD', 'valueFrom': {'secretKeyRef': {'key': 'database-password', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_ROOT_PASSWORD', 'valueFrom': {'secretKeyRef': {'key': 'database-password', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_DATABASE', 'valueFrom': {'secretKeyRef': {'key': 'database-name', 'name': 'db-model-registry0'}}}], 'image': 'public.ecr.aws/docker/library/mysql@sha256:28540698ce89bd72f985044de942d65bd99c6fadb2db105327db57f3f70564f0', 'imagePullPolicy': 'IfNotPresent', 'livenessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysqladmin -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} ping']}, 'initialDelaySeconds': 15, 'periodSeconds': 10, 'timeoutSeconds': 5}, 'readinessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysql -D ${MYSQL_DATABASE} -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1"']}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5}, 'name': 'mysql', 'ports': [{'containerPort': 3306, 'protocol': 'TCP'}], 'securityContext': {'capabilities': {}, 'privileged': False}, 'terminationMessagePath': '/dev/termination-log', 'volumeMounts': [{'mountPath': '/var/lib/mysql', 'name': 'db-model-registry0-data'}], 'args': ['--datadir', '/var/lib/mysql/datadir']}], 'dnsPolicy': 'ClusterFirst', 'restartPolicy': 'Always', 'volumes': [{'name': 'db-model-registry0-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}]}}, 'replicas': 1, 'revisionHistoryLimit': 0, 'strategy': {'type': 'Recreate'}}} [ocp_resources Deployment] 2026-07-03T14:46:38.486929Z [info ] Wait until Deployment db-model-registry0 is created [ocp_resources Deployment] 2026-07-03T14:46:38.487069Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:46:38.504747Z [info ] Elapsed time: 7.43865966796875e-05 [0:00:00.000074] [timeout_sampler] 2026-07-03T14:46:38.504897Z [info ] Wait for Deployment db-model-registry0 to be deployed: True [ocp_resources Deployment] 2026-07-03T14:46:38.505118Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.exists) [timeout_sampler] 2026-07-03T14:46:38.522907Z [info ] Elapsed time: 3.0517578125e-05 [0:00:00.000031] [timeout_sampler] 2026-07-03T14:46:38.523067Z [info ] Waiting for 239.98196172714233 seconds [0:03:59.981962], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.instance) [timeout_sampler] 2026-07-03T14:47:01.988218Z [info ] Elapsed time: 23.44586181640625 [0:00:23.445862] [timeout_sampler] 2026-07-03T14:47:01.988474Z [info ] Executing class fixture: model_registry_instance [conftest] 2026-07-03T14:47:02.033956Z [info ] kind: ModelRegistry api version: modelregistry.opendatahub.io/v1beta1 [ocp_resources.resource] 2026-07-03T14:47:02.034135Z [info ] Create ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:47:02.034350Z [info ] Posting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'name': 'model-registry0', 'labels': {'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0', 'app.kubernetes.io/created-by': 'model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'grpc': None, 'rest': {}, 'kubeRBACProxy': {}, 'mysql': {'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'database': 'model_registry', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 3306, 'skipDBCreation': False, 'username': 'mlmduser'}}} [ocp_resources ModelRegistry] 2026-07-03T14:47:02.119330Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:47:02.119538Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:02.138103Z [info ] Elapsed time: 4.124641418457031e-05 [0:00:00.000041] [timeout_sampler] 2026-07-03T14:47:02.138263Z [info ] Wait for ModelRegistry/model-registry0's 'Available' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:47:02.138406Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:47:02.138643Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:02.156836Z [info ] Elapsed time: 5.555152893066406e-05 [0:00:00.000056] [timeout_sampler] 2026-07-03T14:47:02.157016Z [info ] Waiting for 299.98146319389343 seconds [0:04:59.981463], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:47:28.704030Z [info ] Elapsed time: 26.527580738067627 [0:00:26.527581] [timeout_sampler] 2026-07-03T14:47:28.704294Z [info ] Wait for ModelRegistry/model-registry0's 'KubeRBACProxyAvailable' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:47:28.704430Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:47:28.704595Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:28.722533Z [info ] Elapsed time: 8.940696716308594e-05 [0:00:00.000089] [timeout_sampler] 2026-07-03T14:47:28.722718Z [info ] Waiting for 299.98134875297546 seconds [0:04:59.981349], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:47:28.741963Z [info ] Elapsed time: 3.7670135498046875e-05 [0:00:00.000038] [timeout_sampler] 2026-07-03T14:47:28.791327Z [info ] Waiting for 180 seconds [0:03:00], retry every 5 seconds. (Function: utilities.general.get_not_running_pods Kwargs: {'pods': [, , , ]}) [timeout_sampler] 2026-07-03T14:47:54.715042Z [info ] Elapsed time: 25.770386219024658 [0:00:25.770386] [timeout_sampler] 2026-07-03T14:47:54.715298Z [info ] Executing class fixture: model_registry_instance_pods_by_label [conftest] 2026-07-03T14:47:54.715417Z [info ] Waiting for 60 seconds [0:01:00], retry every 5 seconds. (Function: utilities.general.wait_for_pods_by_labels Kwargs: {'admin_client': , 'namespace': 'rhoai-model-registries', 'label_selector': 'app=model-registry0', 'expected_num_pods': 1}) [timeout_sampler] 2026-07-03T14:47:54.735821Z [info ] Elapsed time: 3.933906555175781e-05 [0:00:00.000039] [timeout_sampler] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:54.735269Z [info ] Validating model-registry0-57764fb5cf-2jlm9 in rhoai-model-registries [tests.ai_hub.image_validation.utils] name=tests.ai_hub.image_validation.utils FAILED TEST: TestModelRegistryImages.test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0] STATUS: FAILED 2026-07-03T14:47:54.784619Z [error ] Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 245, 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 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1720, 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 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/test_verify_rhoai_images.py", line 102, in test_verify_model_registry_pod_images validate_images(pods_to_validate=model_registry_instance_pods_by_label, related_images_refs=related_images_refs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/utils.py", line 22, in validate_images pytest.fail("\n".join(validation_errors)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/outcomes.py", line 163, in __call__ raise Failed(msg=reason, pytrace=pytrace) Failed: Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not in valid image references Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not in valid image references [conftest] ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-03T14:47:54.784913Z [info ] Delete ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:47:54.825435Z [info ] Deleting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'creationTimestamp': '2026-07-03T14:47:02Z', 'finalizers': ['modelregistry.opendatahub.io/finalizer'], 'generation': 1, 'labels': {'app.kubernetes.io/created-by': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0'}, 'managedFields': [{'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/created-by': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'.': {}, 'f:kubeRBACProxy': {'.': {}, 'f:port': {}, 'f:routePort': {}, 'f:serviceRoute': {}}, 'f:mysql': {'.': {}, 'f:database': {}, 'f:host': {}, 'f:passwordSecret': {'.': {}, 'f:key': {}, 'f:name': {}}, 'f:port': {}, 'f:skipDBCreation': {}, 'f:username': {}}, 'f:rest': {'.': {}, 'f:port': {}, 'f:serviceRoute': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-03T14:47:02Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"modelregistry.opendatahub.io/finalizer"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-03T14:47:02Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:hosts': {}, 'f:hostsStr': {}, 'f:specDefaults': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-03T14:47:27Z'}], 'name': 'model-registry0', 'namespace': 'rhoai-model-registries', 'resourceVersion': '13052274', 'uid': '14131766-8eef-4ad2-8ccb-e1c2e53f0216'}, 'spec': {'grpc': {'port': 9090}, 'kubeRBACProxy': {'port': 8443, 'routePort': 443, 'serviceRoute': 'enabled'}, 'mysql': {'database': 'model_registry', 'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 3306, 'skipDBCreation': False, 'username': 'mlmduser'}, 'rest': {'port': 8080, 'serviceRoute': 'disabled'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-03T14:47:02Z', 'message': 'Deployment was successfully created', 'reason': 'CreatedDeployment', 'status': 'False', 'type': 'Progressing'}, {'lastTransitionTime': '2026-07-03T14:47:27Z', 'message': 'Deployment is available', 'reason': 'DeploymentAvailable', 'status': 'True', 'type': 'Available'}, {'lastTransitionTime': '2026-07-03T14:47:27Z', 'message': 'kube-rbac-proxy was successfully created', 'reason': 'ResourcesAvailable', 'status': 'True', 'type': 'KubeRBACProxyAvailable'}], 'hosts': ['model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com', 'model-registry0.rhoai-model-registries.svc.cluster.local', 'model-registry0.rhoai-model-registries', 'model-registry0'], 'hostsStr': 'model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com,model-registry0.rhoai-model-registries.svc.cluster.local,model-registry0.rhoai-model-registries,model-registry0', 'specDefaults': '{"kubeRBACProxy":{"domain":"apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com","image":"registry.redhat.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696","tlsCertificateSecret":{"key":"tls.crt","name":"model-registry0-kube-rbac-proxy"},"tlsKeySecret":{"key":"tls.key","name":"model-registry0-kube-rbac-proxy"}},"rest":{"image":"registry.redhat.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af","resources":{"limits":{"memory":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}}}}'}} [ocp_resources ModelRegistry] 2026-07-03T14:47:54.850094Z [info ] Wait until ModelRegistry model-registry0 is deleted [ocp_resources ModelRegistry] 2026-07-03T14:47:54.850242Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:55.889784Z [info ] Elapsed time: 1.0186574459075928 [0:00:01.018657] [timeout_sampler] 2026-07-03T14:47:55.889958Z [info ] Delete Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:47:55.939025Z [info ] Deleting {'kind': 'Deployment', 'apiVersion': 'apps/v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'd150d356-4368-4731-8145-35db02a6e506', 'resourceVersion': '13051810', 'generation': 1, 'creationTimestamp': '2026-07-03T14:46:38Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'deployment.kubernetes.io/revision': '1', 'template.alpha.openshift.io/wait-for-ready': 'true'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:46:38Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.alpha.openshift.io/wait-for-ready': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:progressDeadlineSeconds': {}, 'f:replicas': {}, 'f:revisionHistoryLimit': {}, 'f:selector': {}, 'f:strategy': {'f:type': {}}, 'f:template': {'f:metadata': {'f:labels': {'.': {}, 'f:name': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'f:containers': {'k:{"name":"mysql"}': {'.': {}, 'f:args': {}, 'f:env': {'.': {}, 'k:{"name":"MYSQL_DATABASE"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_PASSWORD"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_ROOT_PASSWORD"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_USER"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}}, 'f:image': {}, 'f:imagePullPolicy': {}, 'f:livenessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:name': {}, 'f:ports': {'.': {}, 'k:{"containerPort":3306,"protocol":"TCP"}': {'.': {}, 'f:containerPort': {}, 'f:protocol': {}}}, 'f:readinessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:resources': {}, 'f:securityContext': {'.': {}, 'f:capabilities': {}, 'f:privileged': {}}, 'f:terminationMessagePath': {}, 'f:terminationMessagePolicy': {}, 'f:volumeMounts': {'.': {}, 'k:{"mountPath":"/var/lib/mysql"}': {'.': {}, 'f:mountPath': {}, 'f:name': {}}}}}, 'f:dnsPolicy': {}, 'f:restartPolicy': {}, 'f:schedulerName': {}, 'f:securityContext': {}, 'f:terminationGracePeriodSeconds': {}, 'f:volumes': {'.': {}, 'k:{"name":"db-model-registry0-data"}': {'.': {}, 'f:name': {}, 'f:persistentVolumeClaim': {'.': {}, 'f:claimName': {}}}}}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:47:01Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:deployment.kubernetes.io/revision': {}}}, 'f:status': {'f:availableReplicas': {}, 'f:conditions': {'.': {}, 'k:{"type":"Available"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Progressing"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:observedGeneration': {}, 'f:readyReplicas': {}, 'f:replicas': {}, 'f:updatedReplicas': {}}}, 'subresource': 'status'}]}, 'spec': {'replicas': 1, 'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'volumes': [{'name': 'db-model-registry0-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}], 'containers': [{'name': 'mysql', 'image': 'public.ecr.aws/docker/library/mysql@sha256:28540698ce89bd72f985044de942d65bd99c6fadb2db105327db57f3f70564f0', 'args': ['--datadir', '/var/lib/mysql/datadir'], 'ports': [{'containerPort': 3306, 'protocol': 'TCP'}], 'env': [{'name': 'MYSQL_USER', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-user'}}}, {'name': 'MYSQL_PASSWORD', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-password'}}}, {'name': 'MYSQL_ROOT_PASSWORD', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-password'}}}, {'name': 'MYSQL_DATABASE', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-name'}}}], 'resources': {}, 'volumeMounts': [{'name': 'db-model-registry0-data', 'mountPath': '/var/lib/mysql'}], 'livenessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysqladmin -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} ping']}, 'initialDelaySeconds': 15, 'timeoutSeconds': 5, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'readinessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysql -D ${MYSQL_DATABASE} -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1"']}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'terminationMessagePath': '/dev/termination-log', 'terminationMessagePolicy': 'File', 'imagePullPolicy': 'IfNotPresent', 'securityContext': {'capabilities': {}, 'privileged': False}}], 'restartPolicy': 'Always', 'terminationGracePeriodSeconds': 30, 'dnsPolicy': 'ClusterFirst', 'securityContext': {}, 'schedulerName': 'default-scheduler'}}, 'strategy': {'type': 'Recreate'}, 'revisionHistoryLimit': 0, 'progressDeadlineSeconds': 600}, 'status': {'observedGeneration': 1, 'replicas': 1, 'updatedReplicas': 1, 'readyReplicas': 1, 'availableReplicas': 1, 'conditions': [{'type': 'Available', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:47:01Z', 'lastTransitionTime': '2026-07-03T14:47:01Z', 'reason': 'MinimumReplicasAvailable', 'message': 'Deployment has minimum availability.'}, {'type': 'Progressing', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:47:01Z', 'lastTransitionTime': '2026-07-03T14:46:38Z', 'reason': 'NewReplicaSetAvailable', 'message': 'ReplicaSet "db-model-registry0-865b4f5d6f" has successfully progressed.'}]}} [ocp_resources Deployment] 2026-07-03T14:47:55.960857Z [info ] Wait until Deployment db-model-registry0 is deleted [ocp_resources Deployment] 2026-07-03T14:47:55.961014Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:55.980078Z [info ] Elapsed time: 6.365776062011719e-05 [0:00:00.000064] [timeout_sampler] 2026-07-03T14:47:55.980296Z [info ] Delete Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:47:56.019888Z [info ] Deleting {'kind': 'Service', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'de73ddc1-150c-4770-9c67-88f2dc89f750', 'resourceVersion': '13051405', 'creationTimestamp': '2026-07-03T14:46:38Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'mysql://{.spec.clusterIP}:{.spec.ports[?(.name==\\mysql\\)].port}'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:38Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-uri': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:internalTrafficPolicy': {}, 'f:ports': {'.': {}, 'k:{"port":3306,"protocol":"TCP"}': {'.': {}, 'f:appProtocol': {}, 'f:name': {}, 'f:port': {}, 'f:protocol': {}, 'f:targetPort': {}}}, 'f:selector': {}, 'f:sessionAffinity': {}, 'f:type': {}}}}]}, 'spec': {'ports': [{'name': 'mysql', 'protocol': 'TCP', 'appProtocol': 'tcp', 'port': 3306, 'targetPort': 3306}], 'selector': {'name': 'db-model-registry0'}, 'clusterIP': '172.30.76.51', 'clusterIPs': ['172.30.76.51'], 'type': 'ClusterIP', 'sessionAffinity': 'None', 'ipFamilies': ['IPv4'], 'ipFamilyPolicy': 'SingleStack', 'internalTrafficPolicy': 'Cluster'}, 'status': {'loadBalancer': {}}} [ocp_resources Service] 2026-07-03T14:47:56.052856Z [info ] Wait until Service db-model-registry0 is deleted [ocp_resources Service] 2026-07-03T14:47:56.053024Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:56.071913Z [info ] Elapsed time: 0.00010180473327636719 [0:00:00.000102] [timeout_sampler] 2026-07-03T14:47:56.072078Z [info ] Delete PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:47:56.114839Z [info ] Deleting {'kind': 'PersistentVolumeClaim', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '944e8526-26b0-4c2f-8bc2-2fd5726faacb', 'resourceVersion': '13051466', 'creationTimestamp': '2026-07-03T14:46:38Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'pv.kubernetes.io/bind-completed': 'yes', 'pv.kubernetes.io/bound-by-controller': 'yes', 'volume.beta.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com', 'volume.kubernetes.io/selected-node': 'ip-10-0-1-105.us-east-2.compute.internal', 'volume.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com'}, 'finalizers': ['kubernetes.io/pvc-protection'], 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:38Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:accessModes': {}, 'f:resources': {'f:requests': {'.': {}, 'f:storage': {}}}, 'f:volumeMode': {}}}}, {'manager': 'kube-scheduler', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:38Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:volume.kubernetes.io/selected-node': {}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:40Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:pv.kubernetes.io/bind-completed': {}, 'f:pv.kubernetes.io/bound-by-controller': {}, 'f:volume.beta.kubernetes.io/storage-provisioner': {}, 'f:volume.kubernetes.io/storage-provisioner': {}}}, 'f:spec': {'f:volumeName': {}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:40Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:accessModes': {}, 'f:capacity': {'.': {}, 'f:storage': {}}, 'f:phase': {}}}, 'subresource': 'status'}]}, 'spec': {'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}, 'volumeName': 'pvc-944e8526-26b0-4c2f-8bc2-2fd5726faacb', 'storageClassName': 'gp3-csi', 'volumeMode': 'Filesystem'}, 'status': {'phase': 'Bound', 'accessModes': ['ReadWriteOnce'], 'capacity': {'storage': '3Gi'}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:47:56.136065Z [info ] Wait until PersistentVolumeClaim db-model-registry0 is deleted [ocp_resources PersistentVolumeClaim] 2026-07-03T14:47:56.136229Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:47:58.201227Z [info ] Elapsed time: 2.0366714000701904 [0:00:02.036671] [timeout_sampler] 2026-07-03T14:47:58.201378Z [info ] Delete Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:47:58.244648Z [info ] Deleting {'kind': 'Secret', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'dabb0d6c-f563-4295-a185-ceb03b79c024', 'resourceVersion': '13051400', 'creationTimestamp': '2026-07-03T14:46:38Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:46:38Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:data': {'.': {}, 'f:database-name': {}, 'f:database-password': {}, 'f:database-user': {}}, 'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-database_name': {}, 'f:template.openshift.io/expose-password': {}, 'f:template.openshift.io/expose-username': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:type': {}}}]}, 'data': '*******', 'type': 'Opaque'} [ocp_resources Secret] 2026-07-03T14:47:58.271806Z [info ] Wait until Secret db-model-registry0 is deleted [ocp_resources Secret] 2026-07-03T14:47:58.272103Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] _ TestModelRegistryImages.test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0] _ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 245, 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 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1720, 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 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/test_verify_rhoai_images.py", line 102, in test_verify_model_registry_pod_images validate_images(pods_to_validate=model_registry_instance_pods_by_label, related_images_refs=related_images_refs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/utils.py", line 22, in validate_images pytest.fail("\n".join(validation_errors)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/outcomes.py", line 163, in __call__ raise Failed(msg=reason, pytrace=pytrace) Failed: Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not in valid image references Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not in valid image references _ 1 of 32 completed, 0 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_default_mcp.py::TestDefaultMCPCatalogSourceConfigMap::test_default_mcp_catalog_entry[test_redhat_catalog] 2026-07-03T14:47:58.291959Z [info ] Elapsed time: 7.081031799316406e-05 [0:00:00.000071] [timeout_sampler]  --------------------------------- test_default_mcp_catalog_entry[test_redhat_catalog] --------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.294127Z [info ] Executing session fixture: mcp_catalog_rest_urls_scope_session [conftest] 2026-07-03T14:47:58.294257Z [info ] kind: Route api version: route.openshift.io/v1 [ocp_resources.resource] 2026-07-03T14:47:58.346338Z [info ] Executing session fixture: current_client_token [conftest] 2026-07-03T14:47:58.344828Z [info ] Getting OpenShift token  [utilities.infra] name=utilities.infra 2026-07-03T14:47:58.346708Z [info ] Executing session fixture: model_registry_rest_headers_scope_session [conftest] 2026-07-03T14:47:58.346839Z [info ] Executing session fixture: default_mcp_servers [conftest] 2026-07-03T14:47:58.345221Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.345270Z [info ] params: {'pageSize': 1000}  [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.497664Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers?pageSize=1000 [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.501736Z [info ] Executing class fixture: default_catalog_sources_data [conftest] PASSED2026-07-03T14:47:58.525023Z [info ] Executing class fixture: default_mcp_catalogs [conftest] 2026-07-03T14:47:58.525203Z [info ] Executing function fixture: expected_catalog [conftest] --------------------------------------------------------- CALL ---------------------------------------------------------  TEST: TestDefaultMCPCatalogSourceConfigMap.test_default_mcp_catalog_entry[test_redhat_catalog] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 2 of 32 completed, 1 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_default_mcp.py::TestDefaultMCPCatalogSourceConfigMap::test_default_mcp_catalog_entry[test_partner_catalog] PASSED _ 3 of 32 completed, 2 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_default_mcp.py::TestDefaultMCPCatalogSourceConfigMap::test_default_mcp_catalog_entry[test_community_catalog] PASSED _ 4 of 32 completed, 3 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_default_mcp.py::TestDefaultMCPCatalogSourceConfigMap::test_default_mcp_label_definition[test_redhat_label] PASSED _ 5 of 32 completed, 4 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_default_mcp.py::TestDefaultMCPCatalogSourceConfigMap::test_default_mcp_label_definition[test_partner_label] PASSED _ 6 of 32 completed, 5 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_source_label.py::TestMCPServerSourceLabel::test_mcp_server_source_label[test_null_label]  --------------------------------- test_default_mcp_catalog_entry[test_partner_catalog] --------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.532807Z [info ] Executing function fixture: expected_catalog [conftest] --------------------------------------------------------- CALL ---------------------------------------------------------  TEST: TestDefaultMCPCatalogSourceConfigMap.test_default_mcp_catalog_entry[test_partner_catalog] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------------- test_default_mcp_catalog_entry[test_community_catalog] -------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.533427Z [info ] Executing function fixture: expected_catalog [conftest] --------------------------------------------------------- CALL ---------------------------------------------------------  TEST: TestDefaultMCPCatalogSourceConfigMap.test_default_mcp_catalog_entry[test_community_catalog] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------- test_default_mcp_label_definition[test_redhat_label] --------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.534040Z [info ] Executing class fixture: default_mcp_label_definitions [conftest] 2026-07-03T14:47:58.534141Z [info ] Executing function fixture: expected_label [conftest] --------------------------------------------------------- CALL ---------------------------------------------------------  TEST: TestDefaultMCPCatalogSourceConfigMap.test_default_mcp_label_definition[test_redhat_label] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------------- test_default_mcp_label_definition[test_partner_label] -------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.534750Z [info ] Executing function fixture: expected_label [conftest] --------------------------------------------------------- CALL ---------------------------------------------------------  TEST: TestDefaultMCPCatalogSourceConfigMap.test_default_mcp_label_definition[test_partner_label] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------------------ test_mcp_server_source_label[test_null_label] ------------------------------------ -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.535639Z [info ] Executing class fixture: model_catalog_routes [conftest] 2026-07-03T14:47:58.553864Z [info ] Executing class fixture: mcp_catalog_rest_urls [conftest] 2026-07-03T14:47:58.576095Z [info ] Executing class fixture: model_registry_rest_headers [conftest] 2026-07-03T14:47:58.576263Z [info ] Executing function fixture: source_label_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:58.575718Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.575777Z [info ] params: {'sourceLabel': 'null'} [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:58.665277Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers?sourceLabel=null [tests.ai_hub.utils] name=tests.ai_hub.utils _ 7 of 32 completed, 6 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_source_label.py::TestMCPServerSourceLabel::test_mcp_server_source_label[test_no_filter] 2026-07-03T14:47:58.666988Z [info ] Source label filter {'sourceLabel': 'null'}: size=2 [_pytest.compat] name=tests.ai_hub.mcp_servers.config.test_source_label  TEST: TestMCPServerSourceLabel.test_mcp_server_source_label[test_null_label] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------------------- test_mcp_server_source_label[test_no_filter] ------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.671228Z [info ] Executing function fixture: source_label_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:58.669541Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:58.780948Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.783064Z [info ] Source label filter {}: size=10 [_pytest.compat] name=tests.ai_hub.mcp_servers.config.test_source_label _ 8 of 32 completed, 7 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_source_label.py::TestMCPServerSourceLabel::test_mcp_server_source_label[test_default_label]  TEST: TestMCPServerSourceLabel.test_mcp_server_source_label[test_no_filter] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_mcp_server_source_label[test_default_label] ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.787219Z [info ] Executing function fixture: source_label_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:58.785679Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.785731Z [info ] params: {'sourceLabel': 'Red Hat'} [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:58.926282Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers?sourceLabel=Red+Hat [tests.ai_hub.utils] name=tests.ai_hub.utils _ 9 of 32 completed, 8 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/mcp_servers/config/test_source_label.py::TestMCPServerSourceLabel::test_mcp_server_source_label[test_partner_label] 2026-07-03T14:47:58.927876Z [info ] Source label filter {'sourceLabel': 'Red Hat'}: size=3 [_pytest.compat] name=tests.ai_hub.mcp_servers.config.test_source_label  TEST: TestMCPServerSourceLabel.test_mcp_server_source_label[test_default_label] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_mcp_server_source_label[test_partner_label] ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:58.931853Z [info ] Executing function fixture: source_label_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:58.930304Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:58.930351Z [info ] params: {'sourceLabel': 'Red Hat Partners'} [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:59.031210Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/mcp_catalog/v1alpha1/mcp_servers?sourceLabel=Red+Hat+Partners [tests.ai_hub.utils] name=tests.ai_hub.utils _ 10 of 32 completed, 9 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_catalog/metadata/test_labels_endpoint.py::TestLabelsEndpoint::test_labels_endpoint_default_data[test_models] 2026-07-03T14:47:59.033032Z [info ] Source label filter {'sourceLabel': 'Red Hat Partners'}: size=5 [_pytest.compat] name=tests.ai_hub.mcp_servers.config.test_source_label  TEST: TestMCPServerSourceLabel.test_mcp_server_source_label[test_partner_label] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------------------ test_labels_endpoint_default_data[test_models] ------------------------------------ -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:59.037052Z [info ] Executing class fixture: model_catalog_routes [conftest] 2026-07-03T14:47:59.058878Z [info ] Executing class fixture: model_catalog_rest_url [conftest] 2026-07-03T14:47:59.080979Z [info ] Executing function fixture: expected_labels_by_asset_type [conftest] 2026-07-03T14:47:59.122375Z [info ] Executing function fixture: asset_type [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:59.121768Z [info ] Testing labels endpoint with default data for asset type: models [_pytest.compat] name=tests.ai_hub.model_catalog.metadata.test_labels_endpoint 2026-07-03T14:47:59.122914Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-03T14:47:59.128475Z [info ] Getting OpenShift token  [utilities.infra] name=utilities.infra 2026-07-03T14:47:59.128590Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.128636Z [info ] params: {'assetType': 'models'} [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:59.204347Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels?assetType=models [tests.ai_hub.utils] name=tests.ai_hub.utils _ 11 of 32 completed, 10 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_catalog/metadata/test_labels_endpoint.py::TestLabelsEndpoint::test_labels_endpoint_default_data[test_mcp_servers] 2026-07-03T14:47:59.205808Z [info ] Verifying 3 expected labels against 3 API labels [tests.ai_hub.model_catalog.metadata.utils] name=tests.ai_hub.model_catalog.metadata.utils  TEST: TestLabelsEndpoint.test_labels_endpoint_default_data[test_models] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------- test_labels_endpoint_default_data[test_mcp_servers] --------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:59.209522Z [info ] Executing function fixture: expected_labels_by_asset_type [conftest] 2026-07-03T14:47:59.249917Z [info ] Executing function fixture: asset_type [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:59.249365Z [info ] Testing labels endpoint with default data for asset type: mcp_servers [_pytest.compat] name=tests.ai_hub.model_catalog.metadata.test_labels_endpoint 2026-07-03T14:47:59.255381Z [info ] Getting OpenShift token  [utilities.infra] name=utilities.infra 2026-07-03T14:47:59.255477Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.255542Z [info ] params: {'assetType': 'mcp_servers'} [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:59.311851Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels?assetType=mcp_servers [tests.ai_hub.utils] name=tests.ai_hub.utils _ 12 of 32 completed, 11 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_catalog/metadata/test_labels_endpoint.py::TestLabelsEndpoint::test_labels_endpoint_default_no_asset_type 2026-07-03T14:47:59.312937Z [info ] Verifying 2 expected labels against 2 API labels [tests.ai_hub.model_catalog.metadata.utils] name=tests.ai_hub.model_catalog.metadata.utils  TEST: TestLabelsEndpoint.test_labels_endpoint_default_data[test_mcp_servers] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------------------- test_labels_endpoint_default_no_asset_type -------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:59.315301Z [info ] Testing labels endpoint with no asset type parameter [_pytest.compat] name=tests.ai_hub.model_catalog.metadata.test_labels_endpoint 2026-07-03T14:47:59.322098Z [info ] Getting OpenShift token  [utilities.infra] name=utilities.infra 2026-07-03T14:47:59.322184Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED2026-07-03T14:47:59.386217Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/labels [tests.ai_hub.utils] name=tests.ai_hub.utils _ 13 of 32 completed, 12 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_catalog/rbac/test_catalog_rbac.py::TestCatalogRBAC::test_admin_can_read_catalog_configmaps[default-catalog-sources]  TEST: TestLabelsEndpoint.test_labels_endpoint_default_no_asset_type STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------- test_admin_can_read_catalog_configmaps[default-catalog-sources] --------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:59.392641Z [info ] Executing function fixture: configmap_name [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- PASSED2026-07-03T14:47:59.429206Z [info ] Admin successfully read ConfigMap 'default-catalog-sources' [_pytest.compat] name=tests.ai_hub.model_catalog.rbac.test_catalog_rbac _ 14 of 32 completed, 13 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_catalog/search/test_model_search.py::TestSearchModelCatalog::test_search_model_catalog_source_label  TEST: TestCatalogRBAC.test_admin_can_read_catalog_configmaps[default-catalog-sources] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------------------- test_search_model_catalog_source_label ---------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:47:59.432350Z [info ] Executing class fixture: model_catalog_routes [conftest] 2026-07-03T14:47:59.457194Z [info ] Executing class fixture: model_catalog_rest_url [conftest] 2026-07-03T14:47:59.479646Z [info ] Executing class fixture: model_registry_rest_headers [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:47:59.478660Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.478719Z [info ] params: {'pageSize': 100, 'sourceLabel': 'Red Hat AI'} [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.590325Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models?pageSize=100&sourceLabel=Red+Hat+AI [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.593080Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.593177Z [info ] params: {'pageSize': 100, 'sourceLabel': 'Red Hat AI Validated'} [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.807892Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models?pageSize=100&sourceLabel=Red+Hat+AI+Validated [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.818409Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.818491Z [info ] params: {'pageSize': 100, 'sourceLabel': 'null'} [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.920627Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models?pageSize=100&sourceLabel=null [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.922222Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:47:59.922275Z [info ] params: {'pageSize': 100}  [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:48:00.146044Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models?pageSize=100 [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:48:00.158661Z [info ] Executing get call: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:48:00.158754Z [info ] params: {'pageSize': 100, 'sourceLabel': 'Red Hat AI Validated,Red Hat AI'} [tests.ai_hub.utils] name=tests.ai_hub.utils 2026-07-03T14:48:00.396435Z [info ] Encoded url from requests library: https://model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_catalog/v1alpha1/models?pageSize=100&sourceLabel=Red+Hat+AI+Validated%2CRed+Hat+AI [tests.ai_hub.utils] name=tests.ai_hub.utils PASSED _ 15 of 32 completed, 14 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/python_client/test_model_registry_creation.py::TestModelRegistryCreation::test_registering_model[registered_model0] 2026-07-03T14:48:00.410014Z [info ] no_filtered_models_size: 91  [_pytest.compat] name=tests.ai_hub.model_catalog.search.test_model_search  TEST: TestSearchModelCatalog.test_search_model_catalog_source_label STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------------------- test_registering_model[registered_model0] -------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:48:00.416235Z [info ] Executing class fixture: model_registry_metadata_db_resources [conftest] 2026-07-03T14:48:00.416408Z [info ] kind: Deployment api version: apps/v1 --- [DuplicateFilter: Last log `Trying to get client via new_client_from_config` repeated 2 times] [ocp_resources.resource] 2026-07-03T14:48:00.413518Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:48:00.416771Z [info ] Create Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:48:00.416905Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Secret', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'namespace': 'rhoai-model-registries'}, 'stringData': '*******'} [ocp_resources Secret] 2026-07-03T14:48:00.460228Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:48:00.462160Z [info ] Create PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:48:00.462312Z [info ] Posting {'apiVersion': 'v1', 'kind': 'PersistentVolumeClaim', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'volumeMode': 'Filesystem', 'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:48:00.502907Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:48:00.504904Z [info ] Create Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:48:00.505059Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Service', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'mysql://{.spec.clusterIP}:{.spec.ports[?(.name==\\mysql\\)].port}'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'ports': [{'name': 'mysql', 'nodePort': 0, 'port': 3306, 'protocol': 'TCP', 'appProtocol': 'tcp', 'targetPort': 3306}], 'selector': {'name': 'db-model-registry0'}}} [ocp_resources Service] 2026-07-03T14:48:00.551870Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:48:00.555681Z [info ] Create Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:48:00.555827Z [info ] Posting {'apiVersion': 'apps/v1', 'kind': 'Deployment', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.alpha.openshift.io/wait-for-ready': 'true'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'env': [{'name': 'MYSQL_USER', 'valueFrom': {'secretKeyRef': {'key': 'database-user', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_PASSWORD', 'valueFrom': {'secretKeyRef': {'key': 'database-password', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_ROOT_PASSWORD', 'valueFrom': {'secretKeyRef': {'key': 'database-password', 'name': 'db-model-registry0'}}}, {'name': 'MYSQL_DATABASE', 'valueFrom': {'secretKeyRef': {'key': 'database-name', 'name': 'db-model-registry0'}}}], 'image': 'public.ecr.aws/docker/library/mysql@sha256:28540698ce89bd72f985044de942d65bd99c6fadb2db105327db57f3f70564f0', 'imagePullPolicy': 'IfNotPresent', 'livenessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysqladmin -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} ping']}, 'initialDelaySeconds': 15, 'periodSeconds': 10, 'timeoutSeconds': 5}, 'readinessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysql -D ${MYSQL_DATABASE} -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1"']}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5}, 'name': 'mysql', 'ports': [{'containerPort': 3306, 'protocol': 'TCP'}], 'securityContext': {'capabilities': {}, 'privileged': False}, 'terminationMessagePath': '/dev/termination-log', 'volumeMounts': [{'mountPath': '/var/lib/mysql', 'name': 'db-model-registry0-data'}], 'args': ['--datadir', '/var/lib/mysql/datadir']}], 'dnsPolicy': 'ClusterFirst', 'restartPolicy': 'Always', 'volumes': [{'name': 'db-model-registry0-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}]}}, 'replicas': 1, 'revisionHistoryLimit': 0, 'strategy': {'type': 'Recreate'}}} [ocp_resources Deployment] 2026-07-03T14:48:00.613277Z [info ] Wait until Deployment db-model-registry0 is created [ocp_resources Deployment] 2026-07-03T14:48:00.613439Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:48:00.631885Z [info ] Elapsed time: 7.152557373046875e-05 [0:00:00.000072] [timeout_sampler] 2026-07-03T14:48:00.632040Z [info ] Wait for Deployment db-model-registry0 to be deployed: True [ocp_resources Deployment] 2026-07-03T14:48:00.632175Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.exists) [timeout_sampler] 2026-07-03T14:48:00.650483Z [info ] Elapsed time: 3.933906555175781e-05 [0:00:00.000039] [timeout_sampler] 2026-07-03T14:48:00.650665Z [info ] Waiting for 239.9813108444214 seconds [0:03:59.981311], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.instance) [timeout_sampler] 2026-07-03T14:48:23.094273Z [info ] Elapsed time: 22.423527479171753 [0:00:22.423527] [timeout_sampler] 2026-07-03T14:48:23.094514Z [info ] Executing class fixture: model_registry_instance [conftest] 2026-07-03T14:48:23.094643Z [info ] kind: ModelRegistry api version: modelregistry.opendatahub.io/v1beta1 [ocp_resources.resource] 2026-07-03T14:48:23.094761Z [info ] Create ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:48:23.094893Z [info ] Posting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'name': 'model-registry0', 'labels': {'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0', 'app.kubernetes.io/created-by': 'model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'grpc': None, 'rest': {}, 'kubeRBACProxy': {}, 'mysql': {'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'database': 'model_registry', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 3306, 'skipDBCreation': False, 'username': 'mlmduser'}}} [ocp_resources ModelRegistry] 2026-07-03T14:48:23.145770Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:48:23.145935Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:48:23.165490Z [info ] Elapsed time: 6.079673767089844e-05 [0:00:00.000061] [timeout_sampler] 2026-07-03T14:48:23.165767Z [info ] Wait for ModelRegistry/model-registry0's 'Available' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:48:23.165985Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:48:23.166136Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:48:23.187311Z [info ] Elapsed time: 5.030632019042969e-05 [0:00:00.000050] [timeout_sampler] 2026-07-03T14:48:23.187461Z [info ] Waiting for 299.9780538082123 seconds [0:04:59.978054], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:48:40.551460Z [info ] Elapsed time: 17.342690229415894 [0:00:17.342690] [timeout_sampler] 2026-07-03T14:48:40.551652Z [info ] Wait for ModelRegistry/model-registry0's 'KubeRBACProxyAvailable' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:48:40.551771Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:48:40.551882Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:48:40.569987Z [info ] Elapsed time: 3.147125244140625e-05 [0:00:00.000031] [timeout_sampler] 2026-07-03T14:48:40.570151Z [info ] Waiting for 299.98125672340393 seconds [0:04:59.981257], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:48:40.588290Z [info ] Elapsed time: 3.552436828613281e-05 [0:00:00.000036] [timeout_sampler] 2026-07-03T14:48:40.638216Z [info ] Waiting for 180 seconds [0:03:00], retry every 5 seconds. (Function: utilities.general.get_not_running_pods Kwargs: {'pods': [, , , ]}) [timeout_sampler] 2026-07-03T14:49:06.556579Z [info ] Elapsed time: 25.765841960906982 [0:00:25.765842] [timeout_sampler] 2026-07-03T14:49:06.556837Z [info ] Executing class fixture: model_registry_instance_rest_endpoint [conftest] 2026-07-03T14:49:06.593946Z [info ] Executing class fixture: model_registry_client [conftest] 2026-07-03T14:49:06.851944Z [info ] Executing class fixture: registered_model [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- PASSED TEST: TestModelRegistryCreation.test_registering_model[registered_model0] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-03T14:49:07.375513Z [info ] Delete ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:49:07.417216Z [info ] Deleting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'creationTimestamp': '2026-07-03T14:48:23Z', 'finalizers': ['modelregistry.opendatahub.io/finalizer'], 'generation': 1, 'labels': {'app.kubernetes.io/created-by': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0'}, 'managedFields': [{'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/created-by': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'.': {}, 'f:kubeRBACProxy': {'.': {}, 'f:port': {}, 'f:routePort': {}, 'f:serviceRoute': {}}, 'f:mysql': {'.': {}, 'f:database': {}, 'f:host': {}, 'f:passwordSecret': {'.': {}, 'f:key': {}, 'f:name': {}}, 'f:port': {}, 'f:skipDBCreation': {}, 'f:username': {}}, 'f:rest': {'.': {}, 'f:port': {}, 'f:serviceRoute': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-03T14:48:23Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"modelregistry.opendatahub.io/finalizer"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-03T14:48:23Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:hosts': {}, 'f:hostsStr': {}, 'f:specDefaults': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-03T14:48:40Z'}], 'name': 'model-registry0', 'namespace': 'rhoai-model-registries', 'resourceVersion': '13053565', 'uid': '0e4ad4dc-8dee-4470-bff3-00b8ff8e6929'}, 'spec': {'grpc': {'port': 9090}, 'kubeRBACProxy': {'port': 8443, 'routePort': 443, 'serviceRoute': 'enabled'}, 'mysql': {'database': 'model_registry', 'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 3306, 'skipDBCreation': False, 'username': 'mlmduser'}, 'rest': {'port': 8080, 'serviceRoute': 'disabled'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-03T14:48:23Z', 'message': 'Deployment was successfully created', 'reason': 'CreatedDeployment', 'status': 'False', 'type': 'Progressing'}, {'lastTransitionTime': '2026-07-03T14:48:40Z', 'message': 'Deployment is available', 'reason': 'DeploymentAvailable', 'status': 'True', 'type': 'Available'}, {'lastTransitionTime': '2026-07-03T14:48:40Z', 'message': 'kube-rbac-proxy was successfully created', 'reason': 'ResourcesAvailable', 'status': 'True', 'type': 'KubeRBACProxyAvailable'}], 'hosts': ['model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com', 'model-registry0.rhoai-model-registries.svc.cluster.local', 'model-registry0.rhoai-model-registries', 'model-registry0'], 'hostsStr': 'model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com,model-registry0.rhoai-model-registries.svc.cluster.local,model-registry0.rhoai-model-registries,model-registry0', 'specDefaults': '{"kubeRBACProxy":{"domain":"apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com","image":"registry.redhat.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696","tlsCertificateSecret":{"key":"tls.crt","name":"model-registry0-kube-rbac-proxy"},"tlsKeySecret":{"key":"tls.key","name":"model-registry0-kube-rbac-proxy"}},"rest":{"image":"registry.redhat.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af","resources":{"limits":{"memory":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}}}}'}} [ocp_resources ModelRegistry] 2026-07-03T14:49:07.444856Z [info ] Wait until ModelRegistry model-registry0 is deleted [ocp_resources ModelRegistry] 2026-07-03T14:49:07.445013Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:08.484568Z [info ] Elapsed time: 1.0190885066986084 [0:00:01.019089] [timeout_sampler] 2026-07-03T14:49:08.484746Z [info ] Delete Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:49:08.528945Z [info ] Deleting {'kind': 'Deployment', 'apiVersion': 'apps/v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'f12784ae-847d-4e85-b2a5-0050f5b878c4', 'resourceVersion': '13053239', 'generation': 1, 'creationTimestamp': '2026-07-03T14:48:00Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'deployment.kubernetes.io/revision': '1', 'template.alpha.openshift.io/wait-for-ready': 'true'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:48:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.alpha.openshift.io/wait-for-ready': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:progressDeadlineSeconds': {}, 'f:replicas': {}, 'f:revisionHistoryLimit': {}, 'f:selector': {}, 'f:strategy': {'f:type': {}}, 'f:template': {'f:metadata': {'f:labels': {'.': {}, 'f:name': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'f:containers': {'k:{"name":"mysql"}': {'.': {}, 'f:args': {}, 'f:env': {'.': {}, 'k:{"name":"MYSQL_DATABASE"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_PASSWORD"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_ROOT_PASSWORD"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"MYSQL_USER"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}}, 'f:image': {}, 'f:imagePullPolicy': {}, 'f:livenessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:name': {}, 'f:ports': {'.': {}, 'k:{"containerPort":3306,"protocol":"TCP"}': {'.': {}, 'f:containerPort': {}, 'f:protocol': {}}}, 'f:readinessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:resources': {}, 'f:securityContext': {'.': {}, 'f:capabilities': {}, 'f:privileged': {}}, 'f:terminationMessagePath': {}, 'f:terminationMessagePolicy': {}, 'f:volumeMounts': {'.': {}, 'k:{"mountPath":"/var/lib/mysql"}': {'.': {}, 'f:mountPath': {}, 'f:name': {}}}}}, 'f:dnsPolicy': {}, 'f:restartPolicy': {}, 'f:schedulerName': {}, 'f:securityContext': {}, 'f:terminationGracePeriodSeconds': {}, 'f:volumes': {'.': {}, 'k:{"name":"db-model-registry0-data"}': {'.': {}, 'f:name': {}, 'f:persistentVolumeClaim': {'.': {}, 'f:claimName': {}}}}}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:48:22Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:deployment.kubernetes.io/revision': {}}}, 'f:status': {'f:availableReplicas': {}, 'f:conditions': {'.': {}, 'k:{"type":"Available"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Progressing"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:observedGeneration': {}, 'f:readyReplicas': {}, 'f:replicas': {}, 'f:updatedReplicas': {}}}, 'subresource': 'status'}]}, 'spec': {'replicas': 1, 'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'volumes': [{'name': 'db-model-registry0-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}], 'containers': [{'name': 'mysql', 'image': 'public.ecr.aws/docker/library/mysql@sha256:28540698ce89bd72f985044de942d65bd99c6fadb2db105327db57f3f70564f0', 'args': ['--datadir', '/var/lib/mysql/datadir'], 'ports': [{'containerPort': 3306, 'protocol': 'TCP'}], 'env': [{'name': 'MYSQL_USER', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-user'}}}, {'name': 'MYSQL_PASSWORD', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-password'}}}, {'name': 'MYSQL_ROOT_PASSWORD', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-password'}}}, {'name': 'MYSQL_DATABASE', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-name'}}}], 'resources': {}, 'volumeMounts': [{'name': 'db-model-registry0-data', 'mountPath': '/var/lib/mysql'}], 'livenessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysqladmin -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} ping']}, 'initialDelaySeconds': 15, 'timeoutSeconds': 5, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'readinessProbe': {'exec': {'command': ['/bin/bash', '-c', 'mysql -D ${MYSQL_DATABASE} -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1"']}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'terminationMessagePath': '/dev/termination-log', 'terminationMessagePolicy': 'File', 'imagePullPolicy': 'IfNotPresent', 'securityContext': {'capabilities': {}, 'privileged': False}}], 'restartPolicy': 'Always', 'terminationGracePeriodSeconds': 30, 'dnsPolicy': 'ClusterFirst', 'securityContext': {}, 'schedulerName': 'default-scheduler'}}, 'strategy': {'type': 'Recreate'}, 'revisionHistoryLimit': 0, 'progressDeadlineSeconds': 600}, 'status': {'observedGeneration': 1, 'replicas': 1, 'updatedReplicas': 1, 'readyReplicas': 1, 'availableReplicas': 1, 'conditions': [{'type': 'Available', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:48:22Z', 'lastTransitionTime': '2026-07-03T14:48:22Z', 'reason': 'MinimumReplicasAvailable', 'message': 'Deployment has minimum availability.'}, {'type': 'Progressing', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:48:22Z', 'lastTransitionTime': '2026-07-03T14:48:00Z', 'reason': 'NewReplicaSetAvailable', 'message': 'ReplicaSet "db-model-registry0-865b4f5d6f" has successfully progressed.'}]}} [ocp_resources Deployment] 2026-07-03T14:49:08.550378Z [info ] Wait until Deployment db-model-registry0 is deleted [ocp_resources Deployment] 2026-07-03T14:49:08.550561Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:08.569384Z [info ] Elapsed time: 5.364418029785156e-05 [0:00:00.000054] [timeout_sampler] 2026-07-03T14:49:08.569551Z [info ] Delete Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:49:08.614047Z [info ] Deleting {'kind': 'Service', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'b1eba16b-3a6d-44d3-9021-5a3f5ee01aed', 'resourceVersion': '13052837', 'creationTimestamp': '2026-07-03T14:48:00Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'mysql://{.spec.clusterIP}:{.spec.ports[?(.name==\\mysql\\)].port}'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-uri': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:internalTrafficPolicy': {}, 'f:ports': {'.': {}, 'k:{"port":3306,"protocol":"TCP"}': {'.': {}, 'f:appProtocol': {}, 'f:name': {}, 'f:port': {}, 'f:protocol': {}, 'f:targetPort': {}}}, 'f:selector': {}, 'f:sessionAffinity': {}, 'f:type': {}}}}]}, 'spec': {'ports': [{'name': 'mysql', 'protocol': 'TCP', 'appProtocol': 'tcp', 'port': 3306, 'targetPort': 3306}], 'selector': {'name': 'db-model-registry0'}, 'clusterIP': '172.30.114.7', 'clusterIPs': ['172.30.114.7'], 'type': 'ClusterIP', 'sessionAffinity': 'None', 'ipFamilies': ['IPv4'], 'ipFamilyPolicy': 'SingleStack', 'internalTrafficPolicy': 'Cluster'}, 'status': {'loadBalancer': {}}} [ocp_resources Service] 2026-07-03T14:49:08.649854Z [info ] Wait until Service db-model-registry0 is deleted [ocp_resources Service] 2026-07-03T14:49:08.650007Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:08.669261Z [info ] Elapsed time: 5.125999450683594e-05 [0:00:00.000051] [timeout_sampler] 2026-07-03T14:49:08.669429Z [info ] Delete PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:49:08.708272Z [info ] Deleting {'kind': 'PersistentVolumeClaim', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '26647730-6da9-42a9-b4bf-1f47464f69d6', 'resourceVersion': '13052895', 'creationTimestamp': '2026-07-03T14:48:00Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'pv.kubernetes.io/bind-completed': 'yes', 'pv.kubernetes.io/bound-by-controller': 'yes', 'volume.beta.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com', 'volume.kubernetes.io/selected-node': 'ip-10-0-1-105.us-east-2.compute.internal', 'volume.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com'}, 'finalizers': ['kubernetes.io/pvc-protection'], 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:accessModes': {}, 'f:resources': {'f:requests': {'.': {}, 'f:storage': {}}}, 'f:volumeMode': {}}}}, {'manager': 'kube-scheduler', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:volume.kubernetes.io/selected-node': {}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:02Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:pv.kubernetes.io/bind-completed': {}, 'f:pv.kubernetes.io/bound-by-controller': {}, 'f:volume.beta.kubernetes.io/storage-provisioner': {}, 'f:volume.kubernetes.io/storage-provisioner': {}}}, 'f:spec': {'f:volumeName': {}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:02Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:accessModes': {}, 'f:capacity': {'.': {}, 'f:storage': {}}, 'f:phase': {}}}, 'subresource': 'status'}]}, 'spec': {'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}, 'volumeName': 'pvc-26647730-6da9-42a9-b4bf-1f47464f69d6', 'storageClassName': 'gp3-csi', 'volumeMode': 'Filesystem'}, 'status': {'phase': 'Bound', 'accessModes': ['ReadWriteOnce'], 'capacity': {'storage': '3Gi'}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:49:08.734011Z [info ] Wait until PersistentVolumeClaim db-model-registry0 is deleted [ocp_resources PersistentVolumeClaim] 2026-07-03T14:49:08.734257Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:11.811884Z [info ] Elapsed time: 3.0566437244415283 [0:00:03.056644] [timeout_sampler] 2026-07-03T14:49:11.812062Z [info ] Delete Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:49:11.855934Z [info ] Deleting {'kind': 'Secret', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '3c287081-9c61-4686-b170-98f306e7db3f', 'resourceVersion': '13052832', 'creationTimestamp': '2026-07-03T14:48:00Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:48:00Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:data': {'.': {}, 'f:database-name': {}, 'f:database-password': {}, 'f:database-user': {}}, 'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-database_name': {}, 'f:template.openshift.io/expose-password': {}, 'f:template.openshift.io/expose-username': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:type': {}}}]}, 'data': '*******', 'type': 'Opaque'} [ocp_resources Secret] 2026-07-03T14:49:11.887138Z [info ] Wait until Secret db-model-registry0 is deleted [ocp_resources Secret] 2026-07-03T14:49:11.887300Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] _ 16 of 32 completed, 15 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_validate_model_registry_resource[test_validate_registered_model-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:49:11.906932Z [info ] Elapsed time: 0.00011205673217773438 [0:00:00.000112] [timeout_sampler]  test_validate_model_registry_resource[test_validate_registered_model-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:49:11.910473Z [info ] Executing class fixture: model_registry_metadata_db_resources [conftest] 2026-07-03T14:49:11.910700Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] 2026-07-03T14:49:11.907834Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:49:11.910938Z [info ] Create Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:49:11.911048Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Secret', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'namespace': 'rhoai-model-registries'}, 'stringData': '*******'} [ocp_resources Secret] 2026-07-03T14:49:11.957206Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:49:11.958759Z [info ] Create PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:49:11.958917Z [info ] Posting {'apiVersion': 'v1', 'kind': 'PersistentVolumeClaim', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'volumeMode': 'Filesystem', 'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:49:12.012824Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:49:12.014324Z [info ] Create Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:49:12.014478Z [info ] Posting {'apiVersion': 'v1', 'kind': 'Service', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'postgres://{.spec.clusterIP}:{.spec.ports[?(.name==\\postgres\\)].port}'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'ports': [{'name': 'postgres', 'nodePort': 0, 'port': 5432, 'protocol': 'TCP', 'appProtocol': 'tcp', 'targetPort': 5432}], 'selector': {'name': 'db-model-registry0'}}} [ocp_resources Service] 2026-07-03T14:49:12.073152Z [info ] Creating 1 resources [tests.ai_hub.conftest] name=tests.ai_hub.conftest 2026-07-03T14:49:12.076590Z [info ] Create Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:49:12.076797Z [info ] Posting {'apiVersion': 'apps/v1', 'kind': 'Deployment', 'metadata': {'name': 'db-model-registry0', 'labels': {'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.alpha.openshift.io/wait-for-ready': 'true'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'env': [{'name': 'POSTGRES_USER', 'valueFrom': {'secretKeyRef': {'key': 'database-user', 'name': 'db-model-registry0'}}}, {'name': 'POSTGRES_PASSWORD', 'valueFrom': {'secretKeyRef': {'key': 'database-password', 'name': 'db-model-registry0'}}}, {'name': 'POSTGRES_DB', 'valueFrom': {'secretKeyRef': {'key': 'database-name', 'name': 'db-model-registry0'}}}, {'name': 'PGDATA', 'value': '/var/lib/postgresql/data/pgdata'}], 'image': 'public.ecr.aws/docker/library/postgres@sha256:6e9bbed548cc1ca776dd4685cfea9efe60d58df91186ec6bad7328fd03b388a5', 'imagePullPolicy': 'IfNotPresent', 'livenessProbe': {'exec': {'command': ['bash', '-c', '/usr/bin/pg_isready -U $POSTGRES_USER -d $POSTGRES_DB']}, 'initialDelaySeconds': 30, 'timeoutSeconds': 2}, 'readinessProbe': {'exec': {'command': ['bash', '-c', "psql -w -U $POSTGRES_USER -d $POSTGRES_DB -c 'SELECT 1'"]}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5}, 'name': 'postgres', 'ports': [{'containerPort': 5432, 'protocol': 'TCP'}], 'securityContext': {'capabilities': {}, 'privileged': False}, 'terminationMessagePath': '/dev/termination-log', 'volumeMounts': [{'mountPath': '/var/lib/postgresql/data', 'name': 'db-model-registry0-postgres-data'}]}], 'dnsPolicy': 'ClusterFirst', 'restartPolicy': 'Always', 'volumes': [{'name': 'db-model-registry0-postgres-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}]}}, 'replicas': 1, 'revisionHistoryLimit': 0, 'strategy': {'type': 'Recreate'}}} [ocp_resources Deployment] 2026-07-03T14:49:12.138052Z [info ] Wait until Deployment db-model-registry0 is created [ocp_resources Deployment] 2026-07-03T14:49:12.138210Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:12.162726Z [info ] Elapsed time: 4.553794860839844e-05 [0:00:00.000046] [timeout_sampler] 2026-07-03T14:49:12.162890Z [info ] Wait for Deployment db-model-registry0 to be deployed: True [ocp_resources Deployment] 2026-07-03T14:49:12.163034Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:12.181166Z [info ] Elapsed time: 2.7179718017578125e-05 [0:00:00.000027] [timeout_sampler] 2026-07-03T14:49:12.181312Z [info ] Waiting for 239.9814612865448 seconds [0:03:59.981461], retry every 1 seconds. (Function: ocp_resources.deployment.wait_for_replicas.lambda: self.instance) [timeout_sampler] 2026-07-03T14:49:34.642314Z [info ] Elapsed time: 22.44003963470459 [0:00:22.440040] [timeout_sampler] 2026-07-03T14:49:34.642492Z [info ] Executing class fixture: model_registry_instance [conftest] 2026-07-03T14:49:34.642661Z [info ] kind: ModelRegistry api version: modelregistry.opendatahub.io/v1beta1 [ocp_resources.resource] 2026-07-03T14:49:34.642802Z [info ] Create ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:49:34.642944Z [info ] Posting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'name': 'model-registry0', 'labels': {'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0', 'app.kubernetes.io/created-by': 'model-registry0'}, 'namespace': 'rhoai-model-registries'}, 'spec': {'grpc': None, 'rest': {}, 'kubeRBACProxy': {}, 'postgres': {'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'database': 'model_registry', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 5432, 'skipDBCreation': False, 'username': 'mlmduser'}}} [ocp_resources ModelRegistry] 2026-07-03T14:49:34.693795Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:49:34.693961Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:34.713637Z [info ] Elapsed time: 3.62396240234375e-05 [0:00:00.000036] [timeout_sampler] 2026-07-03T14:49:34.713795Z [info ] Wait for ModelRegistry/model-registry0's 'Available' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:49:34.713944Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:49:34.714150Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:34.732098Z [info ] Elapsed time: 6.151199340820312e-05 [0:00:00.000062] [timeout_sampler] 2026-07-03T14:49:34.732236Z [info ] Waiting for 299.9814600944519 seconds [0:04:59.981460], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:49:51.084282Z [info ] Elapsed time: 16.332510232925415 [0:00:16.332510] [timeout_sampler] 2026-07-03T14:49:51.084548Z [info ] Wait for ModelRegistry/model-registry0's 'KubeRBACProxyAvailable' condition to be 'True' [ocp_resources ModelRegistry] 2026-07-03T14:49:51.084674Z [info ] Wait until ModelRegistry model-registry0 is created [ocp_resources ModelRegistry] 2026-07-03T14:49:51.084788Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-03T14:49:51.103166Z [info ] Elapsed time: 3.981590270996094e-05 [0:00:00.000040] [timeout_sampler] 2026-07-03T14:49:51.103322Z [info ] Waiting for 299.9809432029724 seconds [0:04:59.980943], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-03T14:49:51.121783Z [info ] Elapsed time: 4.482269287109375e-05 [0:00:00.000045] [timeout_sampler] 2026-07-03T14:49:51.171264Z [info ] Waiting for 180 seconds [0:03:00], retry every 5 seconds. (Function: utilities.general.get_not_running_pods Kwargs: {'pods': [, , , ]}) [timeout_sampler] 2026-07-03T14:50:17.339012Z [info ] Elapsed time: 26.003376007080078 [0:00:26.003376] [timeout_sampler] 2026-07-03T14:50:17.339283Z [info ] Executing class fixture: model_registry_instance_rest_endpoint [conftest] 2026-07-03T14:50:17.378523Z [info ] Executing class fixture: model_registry_rest_url [conftest] 2026-07-03T14:50:17.378675Z [info ] Executing class fixture: model_registry_rest_headers [conftest] 2026-07-03T14:50:17.378819Z [info ] Executing class fixture: registered_model_rest_api [conftest] 2026-07-03T14:50:17.494166Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/registered_models, status code: 201, rep: {"createTimeSinceEpoch":"1783090217478","customProperties":{"test_rm_bool_property":{"bool_value":false,"metadataType":"MetadataBoolValue"},"test_rm_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"Model created via rest call","id":"1","lastUpdateTimeSinceEpoch":"1783090217478","name":"model-rest-api","owner":"opendatahub-tests","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:17.655701Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions, status code: 201, rep: {"author":"opendatahub-tests","createTimeSinceEpoch":"1783090217640","customProperties":{"test_mv_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_mv_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"Model version created via rest call","id":"2","lastUpdateTimeSinceEpoch":"1783090217640","name":"v0.0.1","registeredModelId":"1","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils PASSED2026-07-03T14:50:17.736856Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions/2/artifacts, status code: 201, rep: {"artifactType":"model-artifact","createTimeSinceEpoch":"1783090217720","customProperties":{"test_ma_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_ma_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"Model artifact created via rest call","id":"1","lastUpdateTimeSinceEpoch":"1783090217720","modelFormatName":"onnx","modelFormatVersion":"v1","name":"model-artifact-rest-api","state":"UNKNOWN","uri":"hf://jonburdo/test2"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:17.737832Z [info ] Successfully registered model: {'createTimeSinceEpoch': '1783090217478', 'customProperties': {'test_rm_bool_property': {'bool_value': False, 'metadataType': 'MetadataBoolValue'}, 'test_rm_str_property': {'metadataType': 'MetadataStringValue', 'string_value': 'my_value'}}, 'description': 'Model created via rest call', 'id': '1', 'lastUpdateTimeSinceEpoch': '1783090217478', 'name': 'model-rest-api', 'owner': 'opendatahub-tests', 'state': 'LIVE'}, with version: {'author': 'opendatahub-tests', 'createTimeSinceEpoch': '1783090217640', 'customProperties': {'test_mv_bool_property': {'bool_value': True, 'metadataType': 'MetadataBoolValue'}, 'test_mv_str_property': {'metadataType': 'MetadataStringValue', 'string_value': 'my_value'}}, 'description': 'Model version created via rest call', 'id': '2', 'lastUpdateTimeSinceEpoch': '1783090217640', 'name': 'v0.0.1', 'registeredModelId': '1', 'state': 'LIVE'} and associated artifact: {'artifactType': 'model-artifact', 'createTimeSinceEpoch': '1783090217720', 'customProperties': {'test_ma_bool_property': {'bool_value': True, 'metadataType': 'MetadataBoolValue'}, 'test_ma_str_property': {'metadataType': 'MetadataStringValue', 'string_value': 'my_value'}}, 'description': 'Model artifact created via rest call', 'id': '1', 'lastUpdateTimeSinceEpoch': '1783090217720', 'modelFormatName': 'onnx', 'modelFormatVersion': 'v1', 'name': 'model-artifact-rest-api', 'state': 'UNKNOWN', 'uri': 'hf://jonburdo/test2'} [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils _ 17 of 32 completed, 16 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_validate_model_registry_resource[test_validate_model_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] PASSED2026-07-03T14:50:17.742218Z [info ] Executing function fixture: expected_params [conftest] _ 18 of 32 completed, 17 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_validate_model_registry_resource[test_validate_model_artifact-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] PASSED2026-07-03T14:50:17.743806Z [info ] Executing function fixture: data_key [conftest] _ 19 of 32 completed, 18 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_model_registry_validate_api_version[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:17.739328Z [info ] Successfully validated resource: register_model: model-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_validate_model_registry_resource[test_validate_registered_model-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_validate_model_registry_resource[test_validate_model_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:17.745816Z [info ] Executing function fixture: expected_params [conftest] 2026-07-03T14:50:17.745934Z [info ] Executing function fixture: data_key [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:17.741651Z [info ] Successfully validated resource: model_version: v0.0.1 [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_validate_model_registry_resource[test_validate_model_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_validate_model_registry_resource[test_validate_model_artifact-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:17.746785Z [info ] Executing function fixture: expected_params [conftest] 2026-07-03T14:50:17.746901Z [info ] Executing function fixture: data_key [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:17.743246Z [info ] Successfully validated resource: model_artifact: model-artifact-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_validate_model_registry_resource[test_validate_model_artifact-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_model_registry_validate_api_version[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- PASSED _ 20 of 32 completed, 19 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_model_registry_validate_kuberbacproxy_enabled[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:17.787160Z [info ] Validating apiversion modelregistry.opendatahub.io/v1beta1 for model registry [_pytest.compat] name=tests.ai_hub.model_registry.rest_api.test_model_registry_rest_api  TEST: TestModelRegistryCreationRest.test_model_registry_validate_api_version[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_model_registry_validate_kuberbacproxy_enabled[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- PASSED _ 21 of 32 completed, 20 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_create_update_model_artifact[test_validate_updated_artifact_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:17.810516Z [info ] Validating that MR is using kubeRBAC proxy {'grpc': {'port': 9090}, 'kubeRBACProxy': {'port': 8443, 'routePort': 443, 'serviceRoute': 'enabled'}, 'postgres': {'database': 'model_registry', 'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 5432, 'skipDBCreation': False, 'sslMode': 'disable', 'username': 'mlmduser'}, 'rest': {'port': 8080, 'serviceRoute': 'disabled'}} [_pytest.compat] name=tests.ai_hub.model_registry.rest_api.test_model_registry_rest_api  TEST: TestModelRegistryCreationRest.test_model_registry_validate_kuberbacproxy_enabled[model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_create_update_model_artifact[test_validate_updated_artifact_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:17.813012Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 22 of 32 completed, 21 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_create_update_model_artifact[test_validate_updated_artifact_model_format_name-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:17.888578Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_artifacts/1, status code: 200, rep: {"artifactType":"model-artifact","createTimeSinceEpoch":"1783090217720","customProperties":{"test_ma_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_ma_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated artifact description","id":"1","lastUpdateTimeSinceEpoch":"1783090217874","modelFormatName":"onnx","modelFormatVersion":"v1","name":"model-artifact-rest-api","state":"UNKNOWN","uri":"hf://jonburdo/test2"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:17.893442Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:17.890848Z [info ] Successfully validated resource: model artifact: model-artifact-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_create_update_model_artifact[test_validate_updated_artifact_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_create_update_model_artifact[test_validate_updated_artifact_model_format_name-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:17.894201Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 23 of 32 completed, 22 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_create_update_model_artifact[test_validate_updated_artifact_model_format_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:17.974429Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_artifacts/1, status code: 200, rep: {"artifactType":"model-artifact","createTimeSinceEpoch":"1783090217720","customProperties":{"test_ma_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_ma_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated artifact description","id":"1","lastUpdateTimeSinceEpoch":"1783090217960","modelFormatName":"tensorflow","modelFormatVersion":"v1","name":"model-artifact-rest-api","state":"UNKNOWN","uri":"hf://jonburdo/test2"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:17.978128Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:17.975643Z [info ] Successfully validated resource: model artifact: model-artifact-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_create_update_model_artifact[test_validate_updated_artifact_model_format_name-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_create_update_model_artifact[test_validate_updated_artifact_model_format_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:17.979307Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 24 of 32 completed, 23 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_model_version[test_validate_updated_version_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.059389Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_artifacts/1, status code: 200, rep: {"artifactType":"model-artifact","createTimeSinceEpoch":"1783090217720","customProperties":{"test_ma_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_ma_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated artifact description","id":"1","lastUpdateTimeSinceEpoch":"1783090218046","modelFormatName":"tensorflow","modelFormatVersion":"v2","name":"model-artifact-rest-api","state":"UNKNOWN","uri":"hf://jonburdo/test2"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.062642Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.060381Z [info ] Successfully validated resource: model artifact: model-artifact-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_create_update_model_artifact[test_validate_updated_artifact_model_format_version-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_model_version[test_validate_updated_version_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.063436Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 25 of 32 completed, 24 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_model_version[test_validate_updated_version_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.153415Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions/2, status code: 200, rep: {"author":"opendatahub-tests","createTimeSinceEpoch":"1783090217640","customProperties":{"test_mv_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_mv_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated model version description","id":"2","lastUpdateTimeSinceEpoch":"1783090218139","name":"v0.0.1","registeredModelId":"1","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.156435Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.154357Z [info ] Successfully validated resource: model version: v0.0.1 [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_model_version[test_validate_updated_version_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_model_version[test_validate_updated_version_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.157280Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED2026-07-03T14:50:18.218474Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions/2, status code: 200, rep: {"author":"opendatahub-tests","createTimeSinceEpoch":"1783090217640","customProperties":{"test_mv_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_mv_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated model version description","id":"2","lastUpdateTimeSinceEpoch":"1783090218204","name":"v0.0.1","registeredModelId":"1","state":"ARCHIVED"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils _ 26 of 32 completed, 25 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_model_version[test_validate_updated_version_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.221416Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.219404Z [info ] Successfully validated resource: model version: v0.0.1 [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_model_version[test_validate_updated_version_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_model_version[test_validate_updated_version_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.222286Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 27 of 32 completed, 26 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_model_version[test_validate_updated_version_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.282401Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions/2, status code: 200, rep: {"author":"opendatahub-tests","createTimeSinceEpoch":"1783090217640","customProperties":{"test_mv_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"test_mv_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated model version description","id":"2","lastUpdateTimeSinceEpoch":"1783090218270","name":"v0.0.1","registeredModelId":"1","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.285609Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.283321Z [info ] Successfully validated resource: model version: v0.0.1 [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_model_version[test_validate_updated_version_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_model_version[test_validate_updated_version_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.286393Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 28 of 32 completed, 27 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_registered_model[test_validate_updated_model_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.360440Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/model_versions/2, status code: 200, rep: {"author":"opendatahub-tests","createTimeSinceEpoch":"1783090217640","customProperties":{"my_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"my_double_property":{"double_value":500.01,"metadataType":"MetadataDoubleValue"},"my_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated model version description","id":"2","lastUpdateTimeSinceEpoch":"1783090218346","name":"v0.0.1","registeredModelId":"1","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.363422Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.361382Z [info ] Successfully validated resource: model version: v0.0.1 [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_model_version[test_validate_updated_version_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_registered_model[test_validate_updated_model_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.364283Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED2026-07-03T14:50:18.426717Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/registered_models/1, status code: 200, rep: {"createTimeSinceEpoch":"1783090217478","customProperties":{"test_rm_bool_property":{"bool_value":false,"metadataType":"MetadataBoolValue"},"test_rm_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated registered model description","id":"1","lastUpdateTimeSinceEpoch":"1783090218414","name":"model-rest-api","owner":"opendatahub-tests","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils _ 29 of 32 completed, 28 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_registered_model[test_validate_updated_model_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.429887Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.428031Z [info ] Successfully validated resource: registered model: model-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_registered_model[test_validate_updated_model_description-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_registered_model[test_validate_updated_model_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.431039Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED2026-07-03T14:50:18.560367Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/registered_models/1, status code: 200, rep: {"createTimeSinceEpoch":"1783090217478","customProperties":{"test_rm_bool_property":{"bool_value":false,"metadataType":"MetadataBoolValue"},"test_rm_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated registered model description","id":"1","lastUpdateTimeSinceEpoch":"1783090218547","name":"model-rest-api","owner":"opendatahub-tests","state":"ARCHIVED"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils _ 30 of 32 completed, 29 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_registered_model[test_validate_updated_model_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.564682Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.562112Z [info ] Successfully validated resource: registered model: model-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_registered_model[test_validate_updated_model_state_archived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_registered_model[test_validate_updated_model_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.566238Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED _ 31 of 32 completed, 30 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py::TestModelRegistryCreationRest::test_updated_registered_model[test_validate_updated_registered_model_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] 2026-07-03T14:50:18.628337Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/registered_models/1, status code: 200, rep: {"createTimeSinceEpoch":"1783090217478","customProperties":{"test_rm_bool_property":{"bool_value":false,"metadataType":"MetadataBoolValue"},"test_rm_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated registered model description","id":"1","lastUpdateTimeSinceEpoch":"1783090218615","name":"model-rest-api","owner":"opendatahub-tests","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.632113Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.629291Z [info ] Successfully validated resource: registered model: model-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_registered_model[test_validate_updated_model_state_unarchived-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  test_updated_registered_model[test_validate_updated_registered_model_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1]  -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-03T14:50:18.632960Z [info ] Executing function fixture: updated_model_registry_resource [conftest] PASSED2026-07-03T14:50:18.692386Z [info ] url: https://model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com:443/api/model_registry/v1alpha3/registered_models/1, status code: 200, rep: {"createTimeSinceEpoch":"1783090217478","customProperties":{"my_bool_property":{"bool_value":true,"metadataType":"MetadataBoolValue"},"my_double_property":{"double_value":500.01,"metadataType":"MetadataDoubleValue"},"my_str_property":{"metadataType":"MetadataStringValue","string_value":"my_value"}},"description":"updated registered model description","id":"1","lastUpdateTimeSinceEpoch":"1783090218680","name":"model-rest-api","owner":"opendatahub-tests","state":"LIVE"}  [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils 2026-07-03T14:50:18.695224Z [info ] Executing function fixture: expected_param [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-03T14:50:18.693270Z [info ] Successfully validated resource: registered model: model-rest-api [tests.ai_hub.model_registry.rest_api.utils] name=tests.ai_hub.model_registry.rest_api.utils  TEST: TestModelRegistryCreationRest.test_updated_registered_model[test_validate_updated_registered_model_custom_properties-model_registry_metadata_db_resources1-model_registry_instance1-registered_model_rest_api1] STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-03T14:50:18.695798Z [info ] Delete ModelRegistry model-registry0 [ocp_resources ModelRegistry] 2026-07-03T14:50:18.737278Z [info ] Deleting {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'kind': 'ModelRegistry', 'metadata': {'creationTimestamp': '2026-07-03T14:49:34Z', 'finalizers': ['modelregistry.opendatahub.io/finalizer'], 'generation': 1, 'labels': {'app.kubernetes.io/created-by': 'model-registry0', 'app.kubernetes.io/instance': 'model-registry0', 'app.kubernetes.io/name': 'model-registry0', 'app.kubernetes.io/part-of': 'model-registry0'}, 'managedFields': [{'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/created-by': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'.': {}, 'f:kubeRBACProxy': {'.': {}, 'f:port': {}, 'f:routePort': {}, 'f:serviceRoute': {}}, 'f:postgres': {'.': {}, 'f:database': {}, 'f:host': {}, 'f:passwordSecret': {'.': {}, 'f:key': {}, 'f:name': {}}, 'f:port': {}, 'f:skipDBCreation': {}, 'f:sslMode': {}, 'f:username': {}}, 'f:rest': {'.': {}, 'f:port': {}, 'f:serviceRoute': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-03T14:49:34Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"modelregistry.opendatahub.io/finalizer"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-03T14:49:34Z'}, {'apiVersion': 'modelregistry.opendatahub.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:hosts': {}, 'f:hostsStr': {}, 'f:specDefaults': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-03T14:49:50Z'}], 'name': 'model-registry0', 'namespace': 'rhoai-model-registries', 'resourceVersion': '13054877', 'uid': '1f9ca6ba-a2fa-4865-8d9f-ffe1b18facfb'}, 'spec': {'grpc': {'port': 9090}, 'kubeRBACProxy': {'port': 8443, 'routePort': 443, 'serviceRoute': 'enabled'}, 'postgres': {'database': 'model_registry', 'host': 'db-model-registry0.rhoai-model-registries.svc.cluster.local', 'passwordSecret': {'key': 'database-password', 'name': 'db-model-registry0'}, 'port': 5432, 'skipDBCreation': False, 'sslMode': 'disable', 'username': 'mlmduser'}, 'rest': {'port': 8080, 'serviceRoute': 'disabled'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-03T14:49:35Z', 'message': 'Deployment was successfully created', 'reason': 'CreatedDeployment', 'status': 'False', 'type': 'Progressing'}, {'lastTransitionTime': '2026-07-03T14:49:50Z', 'message': 'Deployment is available', 'reason': 'DeploymentAvailable', 'status': 'True', 'type': 'Available'}, {'lastTransitionTime': '2026-07-03T14:49:50Z', 'message': 'kube-rbac-proxy was successfully created', 'reason': 'ResourcesAvailable', 'status': 'True', 'type': 'KubeRBACProxyAvailable'}], 'hosts': ['model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com', 'model-registry0.rhoai-model-registries.svc.cluster.local', 'model-registry0.rhoai-model-registries', 'model-registry0'], 'hostsStr': 'model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com,model-registry0.rhoai-model-registries.svc.cluster.local,model-registry0.rhoai-model-registries,model-registry0', 'specDefaults': '{"kubeRBACProxy":{"domain":"apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com","image":"registry.redhat.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696","tlsCertificateSecret":{"key":"tls.crt","name":"model-registry0-kube-rbac-proxy"},"tlsKeySecret":{"key":"tls.key","name":"model-registry0-kube-rbac-proxy"}},"postgres":{"image":"registry.redhat.io/rhel9/postgresql-16@sha256:c2ac59c92d6629864210164d6899ddc021be8933d4a5ec262c659a38a20b670d"},"rest":{"image":"registry.redhat.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af","resources":{"limits":{"memory":"256Mi"},"requests":{"cpu":"100m","memory":"256Mi"}}}}'}} [ocp_resources ModelRegistry] 2026-07-03T14:50:18.763098Z [info ] Wait until ModelRegistry model-registry0 is deleted [ocp_resources ModelRegistry] 2026-07-03T14:50:18.763254Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:50:19.803599Z [info ] Elapsed time: 1.0190644264221191 [0:00:01.019064] [timeout_sampler] 2026-07-03T14:50:19.803758Z [info ] Delete Deployment db-model-registry0 [ocp_resources Deployment] 2026-07-03T14:50:19.848415Z [info ] Deleting {'kind': 'Deployment', 'apiVersion': 'apps/v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '267410ef-9eab-4a34-9350-8271fa3728cb', 'resourceVersion': '13054547', 'generation': 1, 'creationTimestamp': '2026-07-03T14:49:12Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'deployment.kubernetes.io/revision': '1', 'template.alpha.openshift.io/wait-for-ready': 'true'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:49:12Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.alpha.openshift.io/wait-for-ready': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:progressDeadlineSeconds': {}, 'f:replicas': {}, 'f:revisionHistoryLimit': {}, 'f:selector': {}, 'f:strategy': {'f:type': {}}, 'f:template': {'f:metadata': {'f:labels': {'.': {}, 'f:name': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'f:containers': {'k:{"name":"postgres"}': {'.': {}, 'f:env': {'.': {}, 'k:{"name":"PGDATA"}': {'.': {}, 'f:name': {}, 'f:value': {}}, 'k:{"name":"POSTGRES_DB"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"POSTGRES_PASSWORD"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}, 'k:{"name":"POSTGRES_USER"}': {'.': {}, 'f:name': {}, 'f:valueFrom': {'.': {}, 'f:secretKeyRef': {}}}}, 'f:image': {}, 'f:imagePullPolicy': {}, 'f:livenessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:name': {}, 'f:ports': {'.': {}, 'k:{"containerPort":5432,"protocol":"TCP"}': {'.': {}, 'f:containerPort': {}, 'f:protocol': {}}}, 'f:readinessProbe': {'.': {}, 'f:exec': {'.': {}, 'f:command': {}}, 'f:failureThreshold': {}, 'f:initialDelaySeconds': {}, 'f:periodSeconds': {}, 'f:successThreshold': {}, 'f:timeoutSeconds': {}}, 'f:resources': {}, 'f:securityContext': {'.': {}, 'f:capabilities': {}, 'f:privileged': {}}, 'f:terminationMessagePath': {}, 'f:terminationMessagePolicy': {}, 'f:volumeMounts': {'.': {}, 'k:{"mountPath":"/var/lib/postgresql/data"}': {'.': {}, 'f:mountPath': {}, 'f:name': {}}}}}, 'f:dnsPolicy': {}, 'f:restartPolicy': {}, 'f:schedulerName': {}, 'f:securityContext': {}, 'f:terminationGracePeriodSeconds': {}, 'f:volumes': {'.': {}, 'k:{"name":"db-model-registry0-postgres-data"}': {'.': {}, 'f:name': {}, 'f:persistentVolumeClaim': {'.': {}, 'f:claimName': {}}}}}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'apps/v1', 'time': '2026-07-03T14:49:34Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:deployment.kubernetes.io/revision': {}}}, 'f:status': {'f:availableReplicas': {}, 'f:conditions': {'.': {}, 'k:{"type":"Available"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Progressing"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:lastUpdateTime': {}, 'f:message': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:observedGeneration': {}, 'f:readyReplicas': {}, 'f:replicas': {}, 'f:updatedReplicas': {}}}, 'subresource': 'status'}]}, 'spec': {'replicas': 1, 'selector': {'matchLabels': {'name': 'db-model-registry0'}}, 'template': {'metadata': {'labels': {'name': 'db-model-registry0', 'sidecar.istio.io/inject': 'false'}}, 'spec': {'volumes': [{'name': 'db-model-registry0-postgres-data', 'persistentVolumeClaim': {'claimName': 'db-model-registry0'}}], 'containers': [{'name': 'postgres', 'image': 'public.ecr.aws/docker/library/postgres@sha256:6e9bbed548cc1ca776dd4685cfea9efe60d58df91186ec6bad7328fd03b388a5', 'ports': [{'containerPort': 5432, 'protocol': 'TCP'}], 'env': [{'name': 'POSTGRES_USER', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-user'}}}, {'name': 'POSTGRES_PASSWORD', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-password'}}}, {'name': 'POSTGRES_DB', 'valueFrom': {'secretKeyRef': {'name': 'db-model-registry0', 'key': 'database-name'}}}, {'name': 'PGDATA', 'value': '/var/lib/postgresql/data/pgdata'}], 'resources': {}, 'volumeMounts': [{'name': 'db-model-registry0-postgres-data', 'mountPath': '/var/lib/postgresql/data'}], 'livenessProbe': {'exec': {'command': ['bash', '-c', '/usr/bin/pg_isready -U $POSTGRES_USER -d $POSTGRES_DB']}, 'initialDelaySeconds': 30, 'timeoutSeconds': 2, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'readinessProbe': {'exec': {'command': ['bash', '-c', "psql -w -U $POSTGRES_USER -d $POSTGRES_DB -c 'SELECT 1'"]}, 'initialDelaySeconds': 10, 'timeoutSeconds': 5, 'periodSeconds': 10, 'successThreshold': 1, 'failureThreshold': 3}, 'terminationMessagePath': '/dev/termination-log', 'terminationMessagePolicy': 'File', 'imagePullPolicy': 'IfNotPresent', 'securityContext': {'capabilities': {}, 'privileged': False}}], 'restartPolicy': 'Always', 'terminationGracePeriodSeconds': 30, 'dnsPolicy': 'ClusterFirst', 'securityContext': {}, 'schedulerName': 'default-scheduler'}}, 'strategy': {'type': 'Recreate'}, 'revisionHistoryLimit': 0, 'progressDeadlineSeconds': 600}, 'status': {'observedGeneration': 1, 'replicas': 1, 'updatedReplicas': 1, 'readyReplicas': 1, 'availableReplicas': 1, 'conditions': [{'type': 'Available', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:49:34Z', 'lastTransitionTime': '2026-07-03T14:49:34Z', 'reason': 'MinimumReplicasAvailable', 'message': 'Deployment has minimum availability.'}, {'type': 'Progressing', 'status': 'True', 'lastUpdateTime': '2026-07-03T14:49:34Z', 'lastTransitionTime': '2026-07-03T14:49:12Z', 'reason': 'NewReplicaSetAvailable', 'message': 'ReplicaSet "db-model-registry0-6f7df78c54" has successfully progressed.'}]}} [ocp_resources Deployment] 2026-07-03T14:50:19.869872Z [info ] Wait until Deployment db-model-registry0 is deleted [ocp_resources Deployment] 2026-07-03T14:50:19.870081Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:50:19.889091Z [info ] Elapsed time: 3.504753112792969e-05 [0:00:00.000035] [timeout_sampler] 2026-07-03T14:50:19.889299Z [info ] Delete Service db-model-registry0 [ocp_resources Service] 2026-07-03T14:50:19.930694Z [info ] Deleting {'kind': 'Service', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '5dd04bcb-3d28-4bdf-acd5-1063abf80798', 'resourceVersion': '13054133', 'creationTimestamp': '2026-07-03T14:49:12Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-uri': 'postgres://{.spec.clusterIP}:{.spec.ports[?(.name==\\postgres\\)].port}'}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:12Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-uri': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:internalTrafficPolicy': {}, 'f:ports': {'.': {}, 'k:{"port":5432,"protocol":"TCP"}': {'.': {}, 'f:appProtocol': {}, 'f:name': {}, 'f:port': {}, 'f:protocol': {}, 'f:targetPort': {}}}, 'f:selector': {}, 'f:sessionAffinity': {}, 'f:type': {}}}}]}, 'spec': {'ports': [{'name': 'postgres', 'protocol': 'TCP', 'appProtocol': 'tcp', 'port': 5432, 'targetPort': 5432}], 'selector': {'name': 'db-model-registry0'}, 'clusterIP': '172.30.207.158', 'clusterIPs': ['172.30.207.158'], 'type': 'ClusterIP', 'sessionAffinity': 'None', 'ipFamilies': ['IPv4'], 'ipFamilyPolicy': 'SingleStack', 'internalTrafficPolicy': 'Cluster'}, 'status': {'loadBalancer': {}}} [ocp_resources Service] 2026-07-03T14:50:19.966728Z [info ] Wait until Service db-model-registry0 is deleted [ocp_resources Service] 2026-07-03T14:50:19.966895Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:50:19.985895Z [info ] Elapsed time: 7.557868957519531e-05 [0:00:00.000076] [timeout_sampler] 2026-07-03T14:50:19.986109Z [info ] Delete PersistentVolumeClaim db-model-registry0 [ocp_resources PersistentVolumeClaim] 2026-07-03T14:50:20.024895Z [info ] Deleting {'kind': 'PersistentVolumeClaim', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': '437c2e73-ea3c-4924-9a92-4266a4e4da3a', 'resourceVersion': '13054195', 'creationTimestamp': '2026-07-03T14:49:11Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'pv.kubernetes.io/bind-completed': 'yes', 'pv.kubernetes.io/bound-by-controller': 'yes', 'volume.beta.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com', 'volume.kubernetes.io/selected-node': 'ip-10-0-1-105.us-east-2.compute.internal', 'volume.kubernetes.io/storage-provisioner': 'ebs.csi.aws.com'}, 'finalizers': ['kubernetes.io/pvc-protection'], 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:11Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:spec': {'f:accessModes': {}, 'f:resources': {'f:requests': {'.': {}, 'f:storage': {}}}, 'f:volumeMode': {}}}}, {'manager': 'kube-scheduler', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:12Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:volume.kubernetes.io/selected-node': {}}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:14Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:pv.kubernetes.io/bind-completed': {}, 'f:pv.kubernetes.io/bound-by-controller': {}, 'f:volume.beta.kubernetes.io/storage-provisioner': {}, 'f:volume.kubernetes.io/storage-provisioner': {}}}, 'f:spec': {'f:volumeName': {}}}}, {'manager': 'kube-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:14Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:accessModes': {}, 'f:capacity': {'.': {}, 'f:storage': {}}, 'f:phase': {}}}, 'subresource': 'status'}]}, 'spec': {'accessModes': ['ReadWriteOnce'], 'resources': {'requests': {'storage': '3Gi'}}, 'volumeName': 'pvc-437c2e73-ea3c-4924-9a92-4266a4e4da3a', 'storageClassName': 'gp3-csi', 'volumeMode': 'Filesystem'}, 'status': {'phase': 'Bound', 'accessModes': ['ReadWriteOnce'], 'capacity': {'storage': '3Gi'}}} [ocp_resources PersistentVolumeClaim] 2026-07-03T14:50:20.046558Z [info ] Wait until PersistentVolumeClaim db-model-registry0 is deleted [ocp_resources PersistentVolumeClaim] 2026-07-03T14:50:20.046728Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:50:21.084682Z [info ] Elapsed time: 1.0182065963745117 [0:00:01.018207] [timeout_sampler] 2026-07-03T14:50:21.084866Z [info ] Delete Secret db-model-registry0 [ocp_resources Secret] 2026-07-03T14:50:21.128654Z [info ] Deleting {'kind': 'Secret', 'apiVersion': 'v1', 'metadata': {'name': 'db-model-registry0', 'namespace': 'rhoai-model-registries', 'uid': 'd671669e-2c93-41c1-90e6-9b3820d5524b', 'resourceVersion': '13054124', 'creationTimestamp': '2026-07-03T14:49:11Z', 'labels': {'app.kubernetes.io/instance': 'db-model-registry0', 'app.kubernetes.io/name': 'db-model-registry0', 'app.kubernetes.io/part-of': 'db-model-registry0'}, 'annotations': {'template.openshift.io/expose-database_name': "'{.data[''database-name'']}'", 'template.openshift.io/expose-password': "'{.data[''database-password'']}'", 'template.openshift.io/expose-username': "'{.data[''database-user'']}'"}, 'managedFields': [{'manager': 'OpenAPI-Generator', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-03T14:49:11Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:data': {'.': {}, 'f:database-name': {}, 'f:database-password': {}, 'f:database-user': {}}, 'f:metadata': {'f:annotations': {'.': {}, 'f:template.openshift.io/expose-database_name': {}, 'f:template.openshift.io/expose-password': {}, 'f:template.openshift.io/expose-username': {}}, 'f:labels': {'.': {}, 'f:app.kubernetes.io/instance': {}, 'f:app.kubernetes.io/name': {}, 'f:app.kubernetes.io/part-of': {}}}, 'f:type': {}}}]}, 'data': '*******', 'type': 'Opaque'} [ocp_resources Secret] 2026-07-03T14:50:21.158899Z [info ] Wait until Secret db-model-registry0 is deleted [ocp_resources Secret] 2026-07-03T14:50:21.159055Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] 2026-07-03T14:50:21.178720Z [info ] Elapsed time: 7.939338684082031e-05 [0:00:00.000079] [timeout_sampler] _ 32 of 32 completed, 31 Pass, 1 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ ==== 1 failed, 31 passed, 441 deselected, 39 warnings in 328.51s (0:05:28) ===== =================================== FAILURES =================================== _ TestModelRegistryImages.test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0] _ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 245, 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 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1720, 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 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/test_verify_rhoai_images.py", line 102, in test_verify_model_registry_pod_images validate_images(pods_to_validate=model_registry_instance_pods_by_label, related_images_refs=related_images_refs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/tests/ai_hub/image_validation/utils.py", line 22, in validate_images pytest.fail("\n".join(validation_errors)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/outcomes.py", line 163, in __call__ raise Failed(msg=reason, pytrace=pytrace) Failed: Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not in valid image references Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not in valid image references =============================== warnings summary =============================== tests/ai_hub/model_catalog/catalog_config/test_serving_config_validated_tasks.py:89 /home/odh/opendatahub-tests/tests/ai_hub/model_catalog/catalog_config/test_serving_config_validated_tasks.py:89: PytestUnknownMarkWarning: Unknown pytest.mark.jira - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.jira("RHOAIENG-60668") tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:100 /home/odh/opendatahub-tests/tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:100: PytestUnknownMarkWarning: Unknown pytest.mark.test_postgres_network_policy_only - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.test_postgres_network_policy_only tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:111 /home/odh/opendatahub-tests/tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:111: PytestUnknownMarkWarning: Unknown pytest.mark.test_postgres_network_policy_only - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.test_postgres_network_policy_only tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:119 /home/odh/opendatahub-tests/tests/ai_hub/model_catalog/db_check/test_model_catalog_db_validation.py:119: PytestUnknownMarkWarning: Unknown pytest.mark.test_https_route_network_policy_only - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.test_https_route_network_policy_only .venv/lib64/python3.14/site-packages/requests/auth.py:45 .venv/lib64/python3.14/site-packages/requests/auth.py:45 .venv/lib64/python3.14/site-packages/requests/auth.py:45 .venv/lib64/python3.14/site-packages/requests/auth.py:45 /home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/requests/auth.py:45: DeprecationWarning: Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (None) to a string or bytes object in the near future to avoid problems. warnings.warn( .venv/lib64/python3.14/site-packages/requests/auth.py:55 .venv/lib64/python3.14/site-packages/requests/auth.py:55 .venv/lib64/python3.14/site-packages/requests/auth.py:55 .venv/lib64/python3.14/site-packages/requests/auth.py:55 /home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/requests/auth.py:55: DeprecationWarning: Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in () to a string or bytes object in the near future to avoid problems. warnings.warn( tests/ai_hub/mcp_servers/config/test_default_mcp.py: 1 warning tests/ai_hub/mcp_servers/config/test_source_label.py: 4 warnings tests/ai_hub/model_catalog/metadata/test_labels_endpoint.py: 3 warnings tests/ai_hub/model_catalog/search/test_model_search.py: 5 warnings /home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'model-catalog.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( tests/ai_hub/model_registry/rest_api/test_model_registry_rest_api.py: 14 warnings /home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'model-registry0-rest.apps.rosa.nmanos-konflux1.durx.p3.openshiftapps.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html - generated xml file: /workspace/tests-shared/tests-payload/results/ai-hub-smoke.xml - =========================== short test summary info ============================ FAILED tests/ai_hub/image_validation/test_verify_rhoai_images.py::TestModelRegistryImages::test_verify_model_registry_pod_images[model_registry_metadata_db_resources0-model_registry_instance0-model_registry_instance_pods_by_label0] - Failed: Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-model-registry-rhel9@sha256:20b320f3b9c07438fd5e62eca18e5ba85f1d73e7a58159db74426211004e71af is not in valid image references Pod model-registry0-57764fb5cf-2jlm9 in namespace: rhoai-model-registries image validation failed: Image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not from registry.redhat.io Pod model-registry0-57764fb5cf-2jlm9, namespace: rhoai-model-registries image quay.io/rhoai/odh-kube-rbac-proxy-rhel9@sha256:b7cafb9561936ea45769e77f0da365043d16e2a0b3d2c74921d31dd20133e696 is not in valid image references ==== 1 failed, 31 passed, 441 deselected, 39 warnings in 328.52s (0:05:28) =====