--- pytest attempt 2026-07-12T09:00:32.465870+00:00 (/.local/bin/uv --directory /home/odh/opendatahub-tests...) --- 2026-07-12T09:00:34.611323Z [info ] Writing tests log to /home/odh/opendatahub-tests/results/pytest-tests.log [conftest] 2026-07-12T09:00:34.611815Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( 2026-07-12T09:00:34.710994Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( 2026-07-12T09:00:34.763027Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( ============================= test session starts ============================== platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 -- /home/odh/opendatahub-tests/.venv/bin/python3 cachedir: .pytest_cache metadata: {'Python': '3.14.6', 'Platform': 'Linux-5.14.0-570.120.1.el9_6.x86_64-x86_64-with-glibc2.42', 'Packages': {'pytest': '9.1.1', 'pluggy': '1.6.0'}, 'Plugins': {'anyio': '4.14.0', 'langsmith': '0.9.0', 'asyncio': '1.4.0', 'dependency': '0.6.1', 'html': '4.2.0', 'metadata': '3.1.1', 'order': '1.5.0', 'progress': '1.4.0', 'testconfig': '0.2.0', 'xdist': '3.8.0', 'syrupy': '5.3.2'}} rootdir: /home/odh/opendatahub-tests configfile: pytest.ini plugins: anyio-4.14.0, langsmith-0.9.0, asyncio-1.4.0, dependency-0.6.1, html-4.2.0, metadata-3.1.1, order-1.5.0, progress-1.4.0, testconfig-0.2.0, xdist-3.8.0, syrupy-5.3.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 175 items / 155 deselected / 20 selected tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_envoy_filter.py::TestBBREnvoyFilter::test_bbr_envoy_filter_has_pre_and_post_auth_stages  ---------------------------------- test_bbr_envoy_filter_has_pre_and_post_auth_stages ---------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:00:35.171570Z [info ] Executing session fixture: event_loop_policy [conftest] 2026-07-12T09:00:35.171795Z [info ] Executing session fixture: _syrupy_apply_ide_patches [conftest] 2026-07-12T09:00:35.173329Z [info ] Executing session fixture: admin_client [conftest] 2026-07-12T09:00:35.173496Z [info ] Trying to get client via new_client_from_config [ocp_resources.resource] 2026-07-12T09:00:35.173638Z [info ] Executing session fixture: dsc_resource [conftest] 2026-07-12T09:00:35.173769Z [info ] kind: DataScienceCluster api version: datasciencecluster.opendatahub.io/v2 [ocp_resources.resource] 2026-07-12T09:00:35.248441Z [info ] Executing session fixture: tmp_path_factory [conftest] 2026-07-12T09:00:35.248602Z [info ] Executing session fixture: tests_tmp_dir [conftest] 2026-07-12T09:00:35.249547Z [info ] Executing session fixture: os_path_environment [conftest] 2026-07-12T09:00:35.249700Z [info ] Executing session fixture: tmpdir_factory [conftest] 2026-07-12T09:00:35.249897Z [info ] Executing session fixture: bin_directory [conftest] 2026-07-12T09:00:35.250834Z [info ] Executing session fixture: oc_binary_path [conftest] 2026-07-12T09:00:35.266785Z [info ] kind: ConsoleCLIDownload api version: console.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:00:35.296112Z [info ] All oc console cli download links: ['https://downloads-openshift-console.apps.ods-qe-psi-23.osp.rh-ods.com/amd64/linux/oc.tar'] [utilities.infra] name=utilities.infra 2026-07-12T09:00:35.296301Z [info ] Downloading archive using: url=https://downloads-openshift-console.apps.ods-qe-psi-23.osp.rh-ods.com/amd64/linux/oc.tar [utilities.infra] name=utilities.infra 2026-07-12T09:00:35.297301Z [info ] Waiting for 120 seconds [0:02:00], retry every 10 seconds. (Function: utilities.infra._download_with_retry Kwargs: {'url': 'https://downloads-openshift-console.apps.ods-qe-psi-23.osp.rh-ods.com/amd64/linux/oc.tar'}) [timeout_sampler] 2026-07-12T09:00:35.347001Z [info ] Elapsed time: 0.00010800361633300781 [0:00:00.000108] [timeout_sampler] 2026-07-12T09:00:37.370957Z [info ] Extract the downloaded archive. [utilities.infra] name=utilities.infra 2026-07-12T09:00:37.570011Z [info ] Downloaded file: ['oc']  [utilities.infra] name=utilities.infra 2026-07-12T09:00:37.611453Z [info ] Executing session fixture: bin_directory_to_os_path [conftest] 2026-07-12T09:00:37.609095Z [info ] OC binary path: /tmp/pytest-ey2fH4eSXKwqG794nWEn7u/bin0/oc [tests.conftest] name=tests.conftest 2026-07-12T09:00:37.609180Z [info ] Adding /tmp/pytest-ey2fH4eSXKwqG794nWEn7u/bin0 to $PATH [tests.conftest] name=tests.conftest 2026-07-12T09:00:37.611853Z [info ] Executing session fixture: nodes [conftest] 2026-07-12T09:00:38.605022Z [info ] Executing session fixture: dsci_resource [conftest] 2026-07-12T09:00:38.605336Z [info ] kind: DSCInitialization api version: dscinitialization.opendatahub.io/v2 [ocp_resources.resource] 2026-07-12T09:00:38.619326Z [info ] Executing session fixture: record_testsuite_property [conftest] 2026-07-12T09:00:38.619631Z [info ] Executing session fixture: junitxml_plugin [conftest] 2026-07-12T09:00:38.619871Z [info ] Executing session fixture: cluster_sanity_scope_session [conftest] 2026-07-12T09:00:38.618601Z [info ] Check cluster sanity.  [utilities.infra] name=utilities.infra 2026-07-12T09:00:38.620383Z [info ] Verify all nodes are in a healthy condition. [ocp_utilities.infra] 2026-07-12T09:00:38.692181Z [info ] Verify all nodes are schedulable. [ocp_utilities.infra] 2026-07-12T09:00:38.763300Z [warning ] Skipping RHOAI resource checks, got --cluster-sanity-skip-rhoai-check [utilities.infra] name=utilities.infra 2026-07-12T09:00:38.764337Z [info ] Executing session fixture: autouse_fixtures [conftest] 2026-07-12T09:00:38.764457Z [info ] Executing session fixture: maas_gateway_api_hostname [conftest] 2026-07-12T09:00:38.799070Z [info ] kind: Ingress api version: config.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:00:38.834476Z [info ] Executing session fixture: maas_gateway_api [conftest] 2026-07-12T09:00:38.859445Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 [ocp_resources.resource] 2026-07-12T09:00:38.872849Z [info ] Reusing existing gateway openshift-ingress/maas-default-gateway [conftest] name=conftest 2026-07-12T09:00:38.873743Z [info ] Wait for Gateway/maas-default-gateway's 'Programmed' condition to be 'True' [ocp_resources Gateway] 2026-07-12T09:00:38.873919Z [info ] Wait until Gateway maas-default-gateway is created [ocp_resources Gateway] 2026-07-12T09:00:38.874100Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:38.888081Z [info ] Elapsed time: 8.845329284667969e-05 [0:00:00.000088] [timeout_sampler] 2026-07-12T09:00:38.888298Z [info ] Waiting for 299.9853575229645 seconds [0:04:59.985358], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:38.903206Z [info ] Elapsed time: 3.528594970703125e-05 [0:00:00.000035] [timeout_sampler] 2026-07-12T09:00:38.903365Z [info ] ResourceEdit: Backing up old data [ocp_resources.resource] 2026-07-12T09:00:38.924638Z [info ] ResourceEdits: Updating data for resource Gateway maas-default-gateway [ocp_resources.resource] 2026-07-12T09:00:38.924790Z [info ] Update Gateway maas-default-gateway: {'metadata': {'annotations': {'security.opendatahub.io/authorino-tls-bootstrap': 'true'}, 'name': 'maas-default-gateway'}} [ocp_resources Gateway] 2026-07-12T09:00:38.948995Z [info ] Executing session fixture: pytestconfig [conftest] 2026-07-12T09:00:38.949242Z [info ] Executing session fixture: use_unprivileged_client [conftest] 2026-07-12T09:00:38.949380Z [info ] Executing session fixture: kubconfig_filepath [conftest] 2026-07-12T09:00:38.949496Z [info ] Executing session fixture: cluster_authentication [conftest] 2026-07-12T09:00:38.949606Z [info ] kind: Authentication api version: config.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:00:38.963557Z [info ] Executing session fixture: is_byoidc [conftest] 2026-07-12T09:00:38.978364Z [info ] Executing session fixture: non_admin_user_password [conftest] 2026-07-12T09:00:39.009896Z [info ] Executing session fixture: unprivileged_client [conftest] 2026-07-12T09:00:39.311918Z [info ] Requesting token for user odh-user1 from https://keycloak.qe.rh-ods.com/realms/openshift/protocol/openid-connect/token [utilities.user_utils] 2026-07-12T09:00:39.616547Z [info ] Executing session fixture: maas_subscription_namespace [conftest] 2026-07-12T09:00:39.632751Z [info ] Namespace models-as-a-service already exists, reusing it [conftest] name=conftest 2026-07-12T09:00:39.633921Z [info ] Executing session fixture: maas_subscription_controller_enabled_latest [conftest] 2026-07-12T09:00:39.634111Z [info ] ResourceEdit: Backing up old data --- [DuplicateFilter: Last log `kind: Authentication api version: config.openshift.io/v1` repeated 3 times] [ocp_resources.resource] 2026-07-12T09:00:39.654700Z [info ] ResourceEdits: Updating data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-07-12T09:00:39.654862Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {'managementState': 'Managed'}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-07-12T09:00:39.696790Z [info ] Wait for DataScienceCluster/default-dsc's 'ModelsAsServiceReady' condition to be 'True' [ocp_resources DataScienceCluster] 2026-07-12T09:00:39.696948Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-07-12T09:00:39.697192Z [info ] Waiting for 900 seconds [0:15:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:39.725973Z [info ] Elapsed time: 3.790855407714844e-05 [0:00:00.000038] [timeout_sampler] 2026-07-12T09:00:39.726218Z [info ] Waiting for 899.9707815647125 seconds [0:14:59.970782], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:39.750784Z [info ] Elapsed time: 3.266334533691406e-05 [0:00:00.000033] [timeout_sampler] 2026-07-12T09:00:39.750940Z [info ] Wait for DataScienceCluster/default-dsc's 'Ready' condition to be 'True' [ocp_resources DataScienceCluster] 2026-07-12T09:00:39.751188Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-07-12T09:00:39.751329Z [info ] Waiting for 600 seconds [0:10:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:39.778538Z [info ] Elapsed time: 2.6941299438476562e-05 [0:00:00.000027] [timeout_sampler] 2026-07-12T09:00:39.778667Z [info ] Waiting for 599.9722027778625 seconds [0:09:59.972203], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:39.799811Z [info ] Elapsed time: 3.0994415283203125e-05 [0:00:00.000031] [timeout_sampler] 2026-07-12T09:00:39.799974Z [info ] Executing session fixture: bbr_gateway_namespace [conftest] 2026-07-12T09:00:39.820634Z [info ] Executing class fixture: bbr_envoy_filter_config_patches [conftest] 2026-07-12T09:00:39.876147Z [info ] kind: EnvoyFilter api version: networking.istio.io/v1alpha3 [ocp_resources.resource] PASSED _ 1 of 20 completed, 1 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_envoy_filter.py::TestBBREnvoyFilter::test_bbr_post_auth_processing_deployment_ready --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:39.913869Z [info ] EnvoyFilter 'openshift-ingress/payload-processing' has pre-auth and post-auth stages: ['envoy.filters.http.ext_proc.ipp-pre', 'envoy.filters.http.ext_proc.ipp'] [tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils] name=tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils  TEST: TestBBREnvoyFilter.test_bbr_envoy_filter_has_pre_and_post_auth_stages STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------------------ test_bbr_post_auth_processing_deployment_ready ------------------------------------ -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:39.921445Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] PASSED _ 2 of 20 completed, 2 Pass, 0 Fail, 0 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_pre_auth_inference.py::TestBBRPreAuthInference::test_inference_model_in_body_only_returns_200[ocp_token_for_actor0] 2026-07-12T09:00:39.980369Z [info ] Deployment 'openshift-ingress/payload-processing' is ready (1/1 replicas) [tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils] name=tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils  TEST: TestBBREnvoyFilter.test_bbr_post_auth_processing_deployment_ready STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ------------------------- test_inference_model_in_body_only_returns_200[ocp_token_for_actor0] ------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:00:39.983437Z [info ] Executing session fixture: request_session_http [conftest] 2026-07-12T09:00:39.983556Z [info ] Executing session fixture: authorino_tls_configured [conftest] 2026-07-12T09:00:40.014268Z [info ] authorino_tls_configured: configuring TLS in kuadrant-system [conftest] name=conftest 2026-07-12T09:00:40.058671Z [info ] kind: Authorino api version: operator.authorino.kuadrant.io/v1beta1 --- [DuplicateFilter: Last log `kind: Deployment api version: apps/v1` repeated 3 times] [ocp_resources.resource] 2026-07-12T09:00:40.058880Z [info ] ResourceEdit: Backing up old data [ocp_resources.resource] 2026-07-12T09:00:40.104972Z [info ] ResourceEdits: Updating data for resource Service authorino-authorino-authorization [ocp_resources.resource] 2026-07-12T09:00:40.105194Z [info ] Update Service authorino-authorino-authorization: {'metadata': {'annotations': {'service.beta.openshift.io/serving-cert-secret-name': 'authorino-server-cert'}, 'name': 'authorino-authorino-authorization'}} [ocp_resources Service] 2026-07-12T09:00:40.131959Z [info ] ResourceEdits: Updating data for resource Deployment authorino [ocp_resources.resource] 2026-07-12T09:00:40.132178Z [info ] Update Deployment authorino: {'spec': {'template': {'spec': {'containers': [{'name': 'authorino', 'image': 'registry.redhat.io/rhcl-1/authorino-rhel9@sha256:eaadd50c0e4938926e50283a5f3e3b5f1dd24d820a3a2c7434153080180cc95a', 'env': [{'name': 'SSL_CERT_FILE', 'value': '/etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt'}, {'name': 'REQUESTS_CA_BUNDLE', 'value': '/etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt'}]}]}}}, 'metadata': {'name': 'authorino'}} [ocp_resources Deployment] 2026-07-12T09:00:40.163846Z [info ] ResourceEdits: Updating data for resource Authorino authorino [ocp_resources.resource] 2026-07-12T09:00:40.164007Z [info ] Update Authorino authorino: {'spec': {'listener': {'tls': {'enabled': True, 'certSecretRef': {'name': 'authorino-server-cert'}}}}, 'metadata': {'name': 'authorino'}} [ocp_resources Authorino] 2026-07-12T09:00:40.193815Z [info ] Wait for Deployment/authorino's 'Available' condition to be 'True' [ocp_resources Deployment] 2026-07-12T09:00:40.193964Z [info ] Wait until Deployment authorino is created [ocp_resources Deployment] 2026-07-12T09:00:40.194203Z [info ] Waiting for 120 seconds [0:02:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:40.209185Z [info ] Elapsed time: 8.487701416015625e-05 [0:00:00.000085] [timeout_sampler] 2026-07-12T09:00:40.209337Z [info ] Waiting for 119.98447299003601 seconds [0:01:59.984473], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:40.239169Z [info ] Elapsed time: 5.650520324707031e-05 [0:00:00.000057] [timeout_sampler] 2026-07-12T09:00:40.238668Z [info ] authorino_tls_configured: TLS configuration applied, rollout complete [conftest] name=conftest 2026-07-12T09:00:40.239648Z [info ] Executing session fixture: original_user [conftest] 2026-07-12T09:00:40.239772Z [info ] Running oc whoami command  [pyhelper_utils.shell] 2026-07-12T09:00:40.353956Z [info ] Original user: system:serviceaccount:kube-system:olminstall-cluster-admin [tests.conftest] name=tests.conftest 2026-07-12T09:00:40.355416Z [info ] Executing session fixture: maas_api_server_url [conftest] 2026-07-12T09:00:40.355537Z [info ] kind: Infrastructure api version: config.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:00:40.381891Z [info ] Executing session fixture: maas_user_credentials_both [conftest] 2026-07-12T09:00:40.382099Z [info ] Executing session fixture: maas_htpasswd_files [conftest] SKIPPED2026-07-12T09:00:40.868361Z [info ] Executing session fixture: maas_htpasswd_oauth_idp [conftest] _ 3 of 20 completed, 2 Pass, 0 Fail, 1 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_pre_auth_inference.py::TestBBRPreAuthInference::test_list_models_returns_200_with_api_key[ocp_token_for_actor0]  TEST: TestBBRPreAuthInference.test_inference_model_in_body_only_returns_200[ocp_token_for_actor0] STATUS: SKIPPED SKIPPED------------------------------------------------------- TEARDOWN ------------------------------------------------------- _ 4 of 20 completed, 2 Pass, 0 Fail, 2 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_pre_auth_inference.py::TestBBRPreAuthInference::test_maas_api_endpoint_not_broken_by_bbr[ocp_token_for_actor0]  --------------------------- test_list_models_returns_200_with_api_key[ocp_token_for_actor0] --------------------------- SKIPPED _ 5 of 20 completed, 2 Pass, 0 Fail, 3 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_setup.py::TestBBRSetup::test_bbr_pre_processing_deployment_ready -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestBBRPreAuthInference.test_list_models_returns_200_with_api_key[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------- test_maas_api_endpoint_not_broken_by_bbr[ocp_token_for_actor0] ---------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestBBRPreAuthInference.test_maas_api_endpoint_not_broken_by_bbr[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------------- test_bbr_pre_processing_deployment_ready --------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:40.978838Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] PASSED _ 6 of 20 completed, 3 Pass, 0 Fail, 3 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_setup.py::TestBBRSetup::test_bbr_pre_processing_service_exposes_port_9004 2026-07-12T09:00:41.044851Z [info ] Deployment 'openshift-ingress/payload-pre-processing' is ready (1/1 replicas) [tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils] name=tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils  TEST: TestBBRSetup.test_bbr_pre_processing_deployment_ready STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------------- test_bbr_pre_processing_service_exposes_port_9004 ---------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- PASSED _ 7 of 20 completed, 4 Pass, 0 Fail, 3 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_setup.py::TestBBRSetup::test_bbr_pre_processing_destination_rule_exists 2026-07-12T09:00:41.073031Z [info ] Service 'openshift-ingress/payload-pre-processing' exposes gRPC port 9004 [tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils] name=tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils  TEST: TestBBRSetup.test_bbr_pre_processing_service_exposes_port_9004 STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------- test_bbr_pre_processing_destination_rule_exists ----------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:41.076821Z [info ] kind: DestinationRule api version: networking.istio.io/v1 [ocp_resources.resource] PASSED _ 8 of 20 completed, 5 Pass, 0 Fail, 3 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_api_key/test_api_key_auth_policy_validation.py::TestAuthPolicyApiKeyValidation::test_auth_policy_callback_url_uses_correct_namespace SKIPPED _ 9 of 20 completed, 5 Pass, 0 Fail, 4 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_api_key/test_api_key_auth_policy_validation.py::TestAuthPolicyApiKeyValidation::test_api_key_can_list_models[ocp_token_for_actor0] SKIPPED2026-07-12T09:00:41.088975Z [info ] DestinationRule 'openshift-ingress/payload-pre-processing' exists [tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils] name=tests.model_serving.maas_billing.body_base_routing.pre_auth_model_header.utils _ 10 of 20 completed, 5 Pass, 0 Fail, 5 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_api_key/test_api_key_crud.py::TestAPIKeyCRUD::test_create_api_key[ocp_token_for_actor0] SKIPPED TEST: TestBBRSetup.test_bbr_pre_processing_destination_rule_exists STATUS: PASSED _ 11 of 20 completed, 5 Pass, 0 Fail, 6 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_api_key/test_api_key_crud.py::TestAPIKeyCRUD::test_revoke_api_key[ocp_token_for_actor0] ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------- test_auth_policy_callback_url_uses_correct_namespace --------------------------------- SKIPPED-------------------------------------------------------- SETUP -------------------------------------------------------- _ 12 of 20 completed, 5 Pass, 0 Fail, 7 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_subscription/test_maas_auth_enforcement.py::TestMaaSAuthPolicyEnforcementTinyLlama::test_authorized_user_gets_200[ocp_token_for_actor0]  TEST: TestAuthPolicyApiKeyValidation.test_auth_policy_callback_url_uses_correct_namespace STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------------- test_api_key_can_list_models[ocp_token_for_actor0] ---------------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestAuthPolicyApiKeyValidation.test_api_key_can_list_models[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  -------------------------------------- test_create_api_key[ocp_token_for_actor0] -------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:00:41.097965Z [info ] Executing session fixture: aws_access_key_id [conftest] 2026-07-12T09:00:41.098136Z [info ] Executing session fixture: aws_secret_access_key [conftest] 2026-07-12T09:00:41.098259Z [info ] Executing session fixture: models_s3_bucket_name [conftest] 2026-07-12T09:00:41.098376Z [info ] Executing session fixture: models_s3_bucket_region [conftest] 2026-07-12T09:00:41.098500Z [info ] Executing session fixture: models_s3_bucket_endpoint [conftest]  TEST: TestAPIKeyCRUD.test_create_api_key[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- SKIPPED _ 13 of 20 completed, 5 Pass, 0 Fail, 8 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_subscription/test_maas_auth_enforcement.py::TestMaaSAuthPolicyEnforcementTinyLlama::test_no_auth_header_gets_401  -------------------------------------- test_revoke_api_key[ocp_token_for_actor0] -------------------------------------- SKIPPED _ 14 of 20 completed, 5 Pass, 0 Fail, 9 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_subscription/test_maas_auth_enforcement.py::TestMaaSAuthPolicyEnforcementTinyLlama::test_invalid_token_gets_401 SKIPPED _ 15 of 20 completed, 5 Pass, 0 Fail, 10 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/maas_subscription/test_maas_sub_enforcement.py::TestSubscriptionEnforcementTinyLlama::test_subscribed_user_gets_200[ocp_token_for_actor0] SKIPPED _ 16 of 20 completed, 5 Pass, 0 Fail, 11 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py::TestAITenantTenantSetup::test_aitenant_crd_exists -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestAPIKeyCRUD.test_revoke_api_key[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------- test_authorized_user_gets_200[ocp_token_for_actor0] --------------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestMaaSAuthPolicyEnforcementTinyLlama.test_authorized_user_gets_200[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------------------- test_no_auth_header_gets_401 --------------------------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestMaaSAuthPolicyEnforcementTinyLlama.test_no_auth_header_gets_401 STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------------------- test_invalid_token_gets_401 --------------------------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestMaaSAuthPolicyEnforcementTinyLlama.test_invalid_token_gets_401 STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  --------------------------------- test_subscribed_user_gets_200[ocp_token_for_actor0] --------------------------------- -------------------------------------------------------- SETUP --------------------------------------------------------  TEST: TestSubscriptionEnforcementTinyLlama.test_subscribed_user_gets_200[ocp_token_for_actor0] STATUS: SKIPPED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ----------------------------------------------- test_aitenant_crd_exists ----------------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:41.109263Z [info ] kind: CustomResourceDefinition api version: apiextensions.k8s.io/v1 [ocp_resources.resource] PASSED _ 17 of 20 completed, 6 Pass, 0 Fail, 11 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py::TestAITenantTenantSetup::test_aitenant_bootstrap_creates_tenant_environment 2026-07-12T09:00:41.138778Z [info ] AITenant CRD 'aitenants.maas.opendatahub.io' exists [_pytest.compat] name=multitenancy.aitenant.test_tenant_setup  TEST: TestAITenantTenantSetup.test_aitenant_crd_exists STATUS: PASSED ------------------------------------------------------- TEARDOWN -------------------------------------------------------  ---------------------------------- test_aitenant_bootstrap_creates_tenant_environment ---------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:00:41.141582Z [info ] Executing session fixture: aitenant_infra_namespace [conftest] 2026-07-12T09:00:41.155277Z [info ] Executing session fixture: teardown_resources [conftest] 2026-07-12T09:00:41.155429Z [info ] Executing function fixture: aitenant_test_params [conftest] 2026-07-12T09:00:41.155550Z [info ] Executing function fixture: aitenant_bootstrap_gateway [conftest] 2026-07-12T09:00:41.155670Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 [ocp_resources.resource] 2026-07-12T09:00:41.155789Z [info ] Create Gateway e2e-aigw-497fc5d1 [ocp_resources Gateway] 2026-07-12T09:00:41.155908Z [info ] Posting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'name': 'e2e-aigw-497fc5d1', 'namespace': 'openshift-ingress'}, 'spec': {'gatewayClassName': 'openshift-default', 'listeners': [{'name': 'http', 'port': 80, 'protocol': 'HTTP'}]}} [ocp_resources Gateway] 2026-07-12T09:00:41.205150Z [info ] Executing function fixture: aitenant [conftest] 2026-07-12T09:00:41.234786Z [info ] kind: AITenant api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-07-12T09:00:41.234994Z [info ] Create AITenant e2e-aigw-497fc5d1 [ocp_resources AITenant] 2026-07-12T09:00:41.235171Z [info ] Posting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'name': 'e2e-aigw-497fc5d1', 'namespace': 'ai-tenants'}, 'spec': {'gateway': {'name': 'e2e-aigw-497fc5d1'}}} [ocp_resources AITenant] 2026-07-12T09:00:41.284152Z [info ] Wait until AITenant e2e-aigw-497fc5d1 is created [ocp_resources AITenant] 2026-07-12T09:00:41.284314Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:41.308326Z [info ] Elapsed time: 8.463859558105469e-05 [0:00:00.000085] [timeout_sampler] 2026-07-12T09:00:41.308477Z [info ] Executing function fixture: ready_aitenant [conftest] 2026-07-12T09:00:41.349974Z [info ] Wait for AITenant/e2e-aigw-497fc5d1's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-07-12T09:00:41.350277Z [info ] Wait until AITenant e2e-aigw-497fc5d1 is created [ocp_resources AITenant] 2026-07-12T09:00:41.350423Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:41.362074Z [info ] Elapsed time: 7.104873657226562e-05 [0:00:00.000071] [timeout_sampler] 2026-07-12T09:00:41.362249Z [info ] Waiting for 299.9871859550476 seconds [0:04:59.987186], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:42.418008Z [info ] Elapsed time: 1.039081335067749 [0:00:01.039081] [timeout_sampler] 2026-07-12T09:00:42.431151Z [info ] Executing function fixture: aitenant_for_test [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:00:42.468425Z [info ] Wait for AITenant/e2e-aigw-497fc5d1's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-07-12T09:00:42.468648Z [info ] Wait until AITenant e2e-aigw-497fc5d1 is created [ocp_resources AITenant] 2026-07-12T09:00:42.468770Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:42.481633Z [info ] Elapsed time: 9.012222290039062e-05 [0:00:00.000090] [timeout_sampler] 2026-07-12T09:00:42.481769Z [info ] Waiting for 299.986914396286 seconds [0:04:59.986914], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:00:42.494665Z [info ] Elapsed time: 5.817413330078125e-05 [0:00:00.000058] [timeout_sampler] 2026-07-12T09:00:42.572472Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 --- [DuplicateFilter: Last log `kind: AITenant api version: maas.opendatahub.io/v1alpha1` repeated 2 times] [ocp_resources.resource] 2026-07-12T09:00:42.679124Z [info ] Wait for Gateway/e2e-aigw-497fc5d1's 'Programmed' condition to be 'True' [ocp_resources Gateway] 2026-07-12T09:00:42.679350Z [info ] Wait until Gateway e2e-aigw-497fc5d1 is created [ocp_resources Gateway] 2026-07-12T09:00:42.679492Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:00:42.699287Z [info ] Elapsed time: 3.409385681152344e-05 [0:00:00.000034] [timeout_sampler] 2026-07-12T09:00:42.699453Z [info ] Waiting for 299.9798583984375 seconds [0:04:59.979858], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:01:49.805112Z [info ] Elapsed time: 67.09085011482239 [0:01:07.090850] [timeout_sampler] 2026-07-12T09:01:49.805335Z [info ] kind: Tenant api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] FAILED TEST: TestAITenantTenantSetup.test_aitenant_bootstrap_creates_tenant_environment STATUS: FAILED 2026-07-12T09:01:49.863952Z [error ] Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py", line 41, in test_aitenant_bootstrap_creates_tenant_environment verify_aitenant_bootstrap_children( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ test_context=aitenant_for_test, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 323, in verify_aitenant_bootstrap_children assert tenant_gateway_ref.name == MAAS_GATEWAY_NAME, ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Tenant gatewayRef.name expected 'maas-default-gateway', got 'e2e-aigw-497fc5d1' [conftest] ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-12T09:01:49.864243Z [info ] Delete AITenant e2e-aigw-497fc5d1 [ocp_resources AITenant] 2026-07-12T09:01:49.895595Z [info ] Deleting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'creationTimestamp': '2026-07-12T09:00:41Z', 'finalizers': ['maas.opendatahub.io/aitenant-cleanup'], 'generation': 1, 'managedFields': [{'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:gateway': {'.': {}, 'f:name': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:00:41Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"maas.opendatahub.io/aitenant-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-12T09:00:41Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:gatewayRef': {'.': {}, 'f:name': {}, 'f:namespace': {}}, 'f:phase': {}, 'f:tenantNamespace': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:00:41Z'}], 'name': 'e2e-aigw-497fc5d1', 'namespace': 'ai-tenants', 'resourceVersion': '256813225', 'uid': '41d6beb6-b04d-490f-b047-2bcdec850b22'}, 'spec': {'gateway': {'name': 'e2e-aigw-497fc5d1'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'AITenant bootstrap resources are reconciled', 'observedGeneration': 1, 'reason': 'Reconciled', 'status': 'True', 'type': 'Ready'}], 'gatewayRef': {'name': 'e2e-aigw-497fc5d1', 'namespace': 'openshift-ingress'}, 'phase': 'Active', 'tenantNamespace': 'ai-tenant-e2e-aigw-497fc5d1'}} [ocp_resources AITenant] 2026-07-12T09:01:49.914947Z [info ] Wait until AITenant e2e-aigw-497fc5d1 is deleted [ocp_resources AITenant] 2026-07-12T09:01:49.915210Z [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-12T09:01:50.943356Z [info ] Elapsed time: 1.013007640838623 [0:00:01.013008] [timeout_sampler] 2026-07-12T09:01:50.943542Z [info ] Delete Gateway e2e-aigw-497fc5d1 [ocp_resources Gateway] 2026-07-12T09:01:50.978182Z [info ] Deleting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'creationTimestamp': '2026-07-12T09:00:41Z', 'generation': 1, 'labels': {'istio.io/rev': 'openshift-gateway'}, 'managedFields': [{'apiVersion': 'gateway.networking.k8s.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:gateway.istio.io/controller-version': {}}}}, 'manager': 'openshift.io/gateway-controller/v1', 'operation': 'Apply', 'subresource': 'status', 'time': '2026-07-12T09:00:41Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:00:41Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:istio.io/rev': {}}}}, 'manager': 'ingress-operator', 'operation': 'Update', 'time': '2026-07-12T09:00:41Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:conditions': {'k:{"type":"kuadrant.io/TokenRateLimitPolicyAffected"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:listeners': {'k:{"name":"http"}': {'f:conditions': {'k:{"type":"kuadrant.io/TokenRateLimitPolicyAffected"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}}}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:00:42Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:addresses': {}, 'f:conditions': {'k:{"type":"Accepted"}': {'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}}, 'k:{"type":"Programmed"}': {'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}}}, 'f:listeners': {'.': {}, 'k:{"name":"http"}': {'.': {}, 'f:attachedRoutes': {}, 'f:conditions': {'.': {}, 'k:{"type":"Accepted"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Conflicted"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Programmed"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"ResolvedRefs"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:name': {}, 'f:supportedKinds': {}}}}}, 'manager': 'pilot-discovery', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:49Z'}], 'name': 'e2e-aigw-497fc5d1', 'namespace': 'openshift-ingress', 'resourceVersion': '256815039', 'uid': '80e86539-f587-41f5-b39f-fa7b284dbeab'}, 'spec': {'gatewayClassName': 'openshift-default', 'listeners': [{'allowedRoutes': {'namespaces': {'from': 'Same'}}, 'name': 'http', 'port': 80, 'protocol': 'HTTP'}]}, 'status': {'addresses': [{'type': 'IPAddress', 'value': '10.0.59.84'}], 'conditions': [{'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'Resource accepted', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-07-12T09:01:49Z', 'message': 'Resource programmed, assigned to service(s) e2e-aigw-497fc5d1-openshift-default.openshift-ingress.svc.cluster.local:80', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-07-12T09:00:42Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-497fc5d1]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'listeners': [{'attachedRoutes': 0, 'conditions': [{'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'NoConflicts', 'status': 'False', 'type': 'Conflicted'}, {'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-07-12T09:00:41Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'ResolvedRefs', 'status': 'True', 'type': 'ResolvedRefs'}, {'lastTransitionTime': '2026-07-12T09:00:42Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-497fc5d1]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'name': 'http', 'supportedKinds': [{'group': 'gateway.networking.k8s.io', 'kind': 'HTTPRoute'}, {'group': 'gateway.networking.k8s.io', 'kind': 'GRPCRoute'}]}]}} [ocp_resources Gateway] 2026-07-12T09:01:51.003160Z [info ] Wait until Gateway e2e-aigw-497fc5d1 is deleted [ocp_resources Gateway] 2026-07-12T09:01:51.003331Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] __ TestAITenantTenantSetup.test_aitenant_bootstrap_creates_tenant_environment __ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py", line 41, in test_aitenant_bootstrap_creates_tenant_environment verify_aitenant_bootstrap_children( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ test_context=aitenant_for_test, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 323, in verify_aitenant_bootstrap_children assert tenant_gateway_ref.name == MAAS_GATEWAY_NAME, ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Tenant gatewayRef.name expected 'maas-default-gateway', got 'e2e-aigw-497fc5d1' _ 18 of 20 completed, 6 Pass, 1 Fail, 11 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py::TestAITenantTenantSetup::test_aitenant_bootstrap_does_not_break_default_tenant 2026-07-12T09:01:51.021389Z [info ] Elapsed time: 5.14984130859375e-05 [0:00:00.000051] [timeout_sampler]  -------------------------------- test_aitenant_bootstrap_does_not_break_default_tenant -------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:01:51.021956Z [info ] Executing function fixture: aitenant_test_params [conftest] 2026-07-12T09:01:51.022114Z [info ] Executing function fixture: aitenant_bootstrap_gateway [conftest] 2026-07-12T09:01:51.022230Z [info ] kind: Gateway api version: gateway.networking.k8s.io/v1 [ocp_resources.resource] 2026-07-12T09:01:51.022347Z [info ] Create Gateway e2e-aigw-cdc3f98a [ocp_resources Gateway] 2026-07-12T09:01:51.022458Z [info ] Posting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'name': 'e2e-aigw-cdc3f98a', 'namespace': 'openshift-ingress'}, 'spec': {'gatewayClassName': 'openshift-default', 'listeners': [{'name': 'http', 'port': 80, 'protocol': 'HTTP'}]}} [ocp_resources Gateway] 2026-07-12T09:01:51.061005Z [info ] Executing function fixture: aitenant [conftest] 2026-07-12T09:01:51.061253Z [info ] kind: AITenant api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-07-12T09:01:51.061399Z [info ] Create AITenant e2e-aigw-cdc3f98a [ocp_resources AITenant] 2026-07-12T09:01:51.061551Z [info ] Posting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'name': 'e2e-aigw-cdc3f98a', 'namespace': 'ai-tenants'}, 'spec': {'gateway': {'name': 'e2e-aigw-cdc3f98a'}}} [ocp_resources AITenant] 2026-07-12T09:01:51.099499Z [info ] Wait until AITenant e2e-aigw-cdc3f98a is created [ocp_resources AITenant] 2026-07-12T09:01:51.099671Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:51.121791Z [info ] Elapsed time: 8.249282836914062e-05 [0:00:00.000082] [timeout_sampler] 2026-07-12T09:01:51.121945Z [info ] Executing function fixture: ready_aitenant [conftest] 2026-07-12T09:01:51.159139Z [info ] Wait for AITenant/e2e-aigw-cdc3f98a's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-07-12T09:01:51.159367Z [info ] Wait until AITenant e2e-aigw-cdc3f98a is created [ocp_resources AITenant] 2026-07-12T09:01:51.159515Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:51.188339Z [info ] Elapsed time: 3.933906555175781e-05 [0:00:00.000039] [timeout_sampler] 2026-07-12T09:01:51.188715Z [info ] Waiting for 299.9711766242981 seconds [0:04:59.971177], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:01:52.225066Z [info ] Elapsed time: 1.0228047370910645 [0:00:01.022805] [timeout_sampler] 2026-07-12T09:01:52.237602Z [info ] Executing function fixture: aitenant_for_test [conftest] --------------------------------------------------------- CALL --------------------------------------------------------- 2026-07-12T09:01:52.264273Z [info ] Wait for AITenant/e2e-aigw-cdc3f98a's 'Ready' condition to be 'True' [ocp_resources AITenant] 2026-07-12T09:01:52.264979Z [info ] Wait until AITenant e2e-aigw-cdc3f98a is created [ocp_resources AITenant] 2026-07-12T09:01:52.265159Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:52.277207Z [info ] Elapsed time: 6.389617919921875e-05 [0:00:00.000064] [timeout_sampler] 2026-07-12T09:01:52.277337Z [info ] Waiting for 299.9869396686554 seconds [0:04:59.986940], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:01:52.292309Z [info ] Elapsed time: 5.507469177246094e-05 [0:00:00.000055] [timeout_sampler] 2026-07-12T09:01:52.304962Z [info ] kind: Tenant api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-07-12T09:01:52.318943Z [info ] Wait for Tenant/default-tenant's 'Ready' condition to be 'True' [ocp_resources Tenant] 2026-07-12T09:01:52.319175Z [info ] Wait until Tenant default-tenant is created [ocp_resources Tenant] 2026-07-12T09:01:52.319301Z [info ] Waiting for 300 seconds [0:05:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:52.331589Z [info ] Elapsed time: 8.630752563476562e-05 [0:00:00.000086] [timeout_sampler] 2026-07-12T09:01:52.331741Z [info ] Waiting for 299.98701667785645 seconds [0:04:59.987017], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] PASSED2026-07-12T09:01:52.347885Z [info ] Elapsed time: 3.147125244140625e-05 [0:00:00.000031] [timeout_sampler] 2026-07-12T09:01:52.346351Z [info ] Regression check passed: Tenant/default-tenant in 'models-as-a-service' is still Ready [tests.model_serving.maas_billing.multitenancy.aitenant.utils] name=tests.model_serving.maas_billing.multitenancy.aitenant.utils  TEST: TestAITenantTenantSetup.test_aitenant_bootstrap_does_not_break_default_tenant STATUS: PASSED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-12T09:01:52.348412Z [info ] Delete AITenant e2e-aigw-cdc3f98a [ocp_resources AITenant] 2026-07-12T09:01:52.376419Z [info ] Deleting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'AITenant', 'metadata': {'creationTimestamp': '2026-07-12T09:01:51Z', 'finalizers': ['maas.opendatahub.io/aitenant-cleanup'], 'generation': 1, 'managedFields': [{'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:gateway': {'.': {}, 'f:name': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:01:51Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"maas.opendatahub.io/aitenant-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-12T09:01:51Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:gatewayRef': {'.': {}, 'f:name': {}, 'f:namespace': {}}, 'f:phase': {}, 'f:tenantNamespace': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:51Z'}], 'name': 'e2e-aigw-cdc3f98a', 'namespace': 'ai-tenants', 'resourceVersion': '256815246', 'uid': 'e50995e7-5a66-4578-9d23-ea838b892e97'}, 'spec': {'gateway': {'name': 'e2e-aigw-cdc3f98a'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'AITenant bootstrap resources are reconciled', 'observedGeneration': 1, 'reason': 'Reconciled', 'status': 'True', 'type': 'Ready'}], 'gatewayRef': {'name': 'e2e-aigw-cdc3f98a', 'namespace': 'openshift-ingress'}, 'phase': 'Active', 'tenantNamespace': 'ai-tenant-e2e-aigw-cdc3f98a'}} [ocp_resources AITenant] 2026-07-12T09:01:52.394320Z [info ] Wait until AITenant e2e-aigw-cdc3f98a is deleted [ocp_resources AITenant] 2026-07-12T09:01:52.394470Z [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-12T09:01:53.421707Z [info ] Elapsed time: 1.0126395225524902 [0:00:01.012640] [timeout_sampler] 2026-07-12T09:01:53.421890Z [info ] Delete Gateway e2e-aigw-cdc3f98a [ocp_resources Gateway] 2026-07-12T09:01:53.456313Z [info ] Deleting {'apiVersion': 'gateway.networking.k8s.io/v1', 'kind': 'Gateway', 'metadata': {'creationTimestamp': '2026-07-12T09:01:51Z', 'generation': 1, 'labels': {'istio.io/rev': 'openshift-gateway'}, 'managedFields': [{'apiVersion': 'gateway.networking.k8s.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:gateway.istio.io/controller-version': {}}}}, 'manager': 'openshift.io/gateway-controller/v1', 'operation': 'Apply', 'subresource': 'status', 'time': '2026-07-12T09:01:51Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:01:51Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:labels': {'.': {}, 'f:istio.io/rev': {}}}}, 'manager': 'ingress-operator', 'operation': 'Update', 'time': '2026-07-12T09:01:51Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:conditions': {'k:{"type":"kuadrant.io/TokenRateLimitPolicyAffected"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:listeners': {'k:{"name":"http"}': {'f:conditions': {'k:{"type":"kuadrant.io/TokenRateLimitPolicyAffected"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}}}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:52Z'}, {'apiVersion': 'gateway.networking.k8s.io/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'f:conditions': {'k:{"type":"Accepted"}': {'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}}, 'k:{"type":"Programmed"}': {'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}}}, 'f:listeners': {'.': {}, 'k:{"name":"http"}': {'.': {}, 'f:attachedRoutes': {}, 'f:conditions': {'.': {}, 'k:{"type":"Accepted"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Conflicted"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"Programmed"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}, 'k:{"type":"ResolvedRefs"}': {'.': {}, 'f:lastTransitionTime': {}, 'f:message': {}, 'f:observedGeneration': {}, 'f:reason': {}, 'f:status': {}, 'f:type': {}}}, 'f:name': {}, 'f:supportedKinds': {}}}}}, 'manager': 'pilot-discovery', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:52Z'}], 'name': 'e2e-aigw-cdc3f98a', 'namespace': 'openshift-ingress', 'resourceVersion': '256815389', 'uid': '5a14f892-d32c-4557-9530-b22f6adb7a81'}, 'spec': {'gatewayClassName': 'openshift-default', 'listeners': [{'allowedRoutes': {'namespaces': {'from': 'Same'}}, 'name': 'http', 'port': 80, 'protocol': 'HTTP'}]}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'Resource accepted', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'Assigned to service(s) e2e-aigw-cdc3f98a-openshift-default.openshift-ingress.svc.cluster.local:80, but failed to assign to all requested addresses: address pending for hostname "e2e-aigw-cdc3f98a-openshift-default.openshift-ingress.svc.cluster.local"', 'observedGeneration': 1, 'reason': 'AddressNotAssigned', 'status': 'False', 'type': 'Programmed'}, {'lastTransitionTime': '2026-07-12T09:01:52Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-cdc3f98a]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'listeners': [{'attachedRoutes': 0, 'conditions': [{'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'Accepted'}, {'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'NoConflicts', 'status': 'False', 'type': 'Conflicted'}, {'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'Programmed', 'status': 'True', 'type': 'Programmed'}, {'lastTransitionTime': '2026-07-12T09:01:51Z', 'message': 'No errors found', 'observedGeneration': 1, 'reason': 'ResolvedRefs', 'status': 'True', 'type': 'ResolvedRefs'}, {'lastTransitionTime': '2026-07-12T09:01:52Z', 'message': 'Object affected by TokenRateLimitPolicy [openshift-ingress/gateway-default-deny-e2e-aigw-cdc3f98a]', 'observedGeneration': 1, 'reason': 'Accepted', 'status': 'True', 'type': 'kuadrant.io/TokenRateLimitPolicyAffected'}], 'name': 'http', 'supportedKinds': [{'group': 'gateway.networking.k8s.io', 'kind': 'HTTPRoute'}, {'group': 'gateway.networking.k8s.io', 'kind': 'GRPCRoute'}]}]}} [ocp_resources Gateway] 2026-07-12T09:01:53.474010Z [info ] Wait until Gateway e2e-aigw-cdc3f98a is deleted [ocp_resources Gateway] 2026-07-12T09:01:53.474261Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_deleted.lambda: self.exists) [timeout_sampler] _ 19 of 20 completed, 7 Pass, 1 Fail, 11 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ tests/model_serving/maas_billing/oidc_tests/test_oidc_token_flow.py::TestOIDCTokenFlow::test_oidc_token_creates_api_key 2026-07-12T09:01:53.503419Z [info ] Elapsed time: 9.202957153320312e-05 [0:00:00.000092] [timeout_sampler]  ------------------------------------------- test_oidc_token_creates_api_key ------------------------------------------- -------------------------------------------------------- SETUP -------------------------------------------------------- 2026-07-12T09:01:53.505549Z [info ] Executing class fixture: maas_unprivileged_model_namespace [conftest] 2026-07-12T09:01:53.505703Z [info ] kind: ProjectRequest api version: project.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:01:53.505837Z [info ] Create ProjectRequest llm  [ocp_resources ProjectRequest] 2026-07-12T09:01:53.505965Z [info ] Posting {'apiVersion': 'project.openshift.io/v1', 'kind': 'ProjectRequest', 'metadata': {'name': 'llm'}} [ocp_resources ProjectRequest] 2026-07-12T09:01:53.699505Z [info ] kind: Project api version: project.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:01:53.699791Z [info ] Wait for Project llm status to be Active [ocp_resources Project] 2026-07-12T09:01:53.699947Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_status.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:53.728171Z [info ] Status of Project llm is Active [ocp_resources Project] 2026-07-12T09:01:53.728361Z [info ] Elapsed time: 6.103515625e-05 [0:00:00.000061] [timeout_sampler] 2026-07-12T09:01:53.728503Z [info ] Executing class fixture: oidc_subscription [conftest] 2026-07-12T09:01:53.728652Z [info ] kind: MaaSModelRef api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-07-12T09:01:53.728812Z [info ] Create MaaSModelRef e2e-authz-model-e1892451 [ocp_resources MaaSModelRef] 2026-07-12T09:01:53.728948Z [info ] Posting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'MaaSModelRef', 'metadata': {'name': 'e2e-authz-model-e1892451', 'namespace': 'llm'}, 'spec': {'modelRef': {'name': 'e2e-authz-model-e1892451', 'namespace': 'llm', 'kind': 'LLMInferenceService'}}} [ocp_resources MaaSModelRef] 2026-07-12T09:01:53.760702Z [info ] Wait until MaaSModelRef e2e-authz-model-e1892451 is created [ocp_resources MaaSModelRef] 2026-07-12T09:01:53.760875Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:53.778208Z [info ] Elapsed time: 8.368492126464844e-05 [0:00:00.000084] [timeout_sampler] 2026-07-12T09:01:53.778422Z [info ] kind: MaaSSubscription api version: maas.opendatahub.io/v1alpha1 [ocp_resources.resource] 2026-07-12T09:01:53.778552Z [info ] Create MaaSSubscription e2e-oidc-sub-96b17a21 [ocp_resources MaaSSubscription] 2026-07-12T09:01:53.778679Z [info ] Posting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'MaaSSubscription', 'metadata': {'name': 'e2e-oidc-sub-96b17a21', 'namespace': 'models-as-a-service'}, 'spec': {'modelRefs': [{'name': 'e2e-authz-model-e1892451', 'namespace': 'llm', 'tokenRateLimits': [{'limit': 1000, 'window': '1m'}]}], 'owner': {'groups': [{'name': 'maas-users'}]}, 'priority': 0}} [ocp_resources MaaSSubscription] 2026-07-12T09:01:53.828319Z [info ] Wait until MaaSSubscription e2e-oidc-sub-96b17a21 is created [ocp_resources MaaSSubscription] 2026-07-12T09:01:53.828466Z [info ] Waiting for 240 seconds [0:04:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:53.847686Z [info ] Elapsed time: 9.846687316894531e-05 [0:00:00.000098] [timeout_sampler] 2026-07-12T09:01:53.849325Z [info ] Executing class fixture: maas_scheme [conftest] 2026-07-12T09:01:53.896959Z [info ] kind: LLMInferenceService api version: serving.kserve.io/v1alpha2 [ocp_resources.resource] 2026-07-12T09:01:53.910182Z [info ] Executing class fixture: maas_host [conftest] 2026-07-12T09:01:53.910316Z [info ] kind: Ingress api version: config.openshift.io/v1 [ocp_resources.resource] 2026-07-12T09:01:53.936146Z [info ] Executing class fixture: base_url [conftest] 2026-07-12T09:01:53.936301Z [info ] Executing class fixture: maas_api_deployment_available [conftest] 2026-07-12T09:01:53.936416Z [info ] kind: Deployment api version: apps/v1 [ocp_resources.resource] 2026-07-12T09:01:53.952142Z [info ] Wait for Deployment/maas-api's 'Available' condition to be 'True' [ocp_resources Deployment] 2026-07-12T09:01:53.952294Z [info ] Wait until Deployment maas-api is created [ocp_resources Deployment] 2026-07-12T09:01:53.952403Z [info ] Waiting for 600 seconds [0:10:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:01:53.966410Z [info ] Elapsed time: 3.123283386230469e-05 [0:00:00.000031] [timeout_sampler] 2026-07-12T09:01:53.966705Z [info ] Waiting for 599.9857141971588 seconds [0:09:59.985714], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:01:53.979512Z [info ] Elapsed time: 3.1948089599609375e-05 [0:00:00.000032] [timeout_sampler] 2026-07-12T09:01:53.979800Z [info ] Executing class fixture: maas_api_endpoints_ready [conftest] 2026-07-12T09:01:53.980099Z [info ] Waiting for 300 seconds [0:05:00], retry every 5 seconds. (Function: tests.model_serving.maas_billing.utils.endpoints_have_ready_addresses Kwargs: {'admin_client': , 'namespace': 'redhat-ods-applications', 'name': 'maas-api'}) [timeout_sampler] SKIPPED2026-07-12T09:01:54.008938Z [info ] Elapsed time: 3.5762786865234375e-05 [0:00:00.000036] [timeout_sampler] 2026-07-12T09:01:54.009296Z [info ] Executing class fixture: maas_gateway_auth_policy_ready [conftest]  TEST: TestOIDCTokenFlow.test_oidc_token_creates_api_key STATUS: SKIPPED ------------------------------------------------------- TEARDOWN ------------------------------------------------------- 2026-07-12T09:01:54.009622Z [info ] Delete MaaSSubscription e2e-oidc-sub-96b17a21 [ocp_resources MaaSSubscription] 2026-07-12T09:01:54.045325Z [info ] Deleting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'MaaSSubscription', 'metadata': {'creationTimestamp': '2026-07-12T09:01:53Z', 'finalizers': ['maas.opendatahub.io/subscription-cleanup'], 'generation': 1, 'managedFields': [{'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:modelRefs': {}, 'f:owner': {'.': {}, 'f:groups': {}}, 'f:priority': {}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:01:53Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"maas.opendatahub.io/subscription-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-12T09:01:53Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:modelRefStatuses': {}, 'f:phase': {}, 'f:tokenRateLimitStatuses': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:53Z'}], 'name': 'e2e-oidc-sub-96b17a21', 'namespace': 'models-as-a-service', 'resourceVersion': '256815478', 'uid': '1b8cc9b4-433f-4a26-bee5-8f661422255a'}, 'spec': {'modelRefs': [{'name': 'e2e-authz-model-e1892451', 'namespace': 'llm', 'tokenRateLimits': [{'limit': 1000, 'window': '1m'}]}], 'owner': {'groups': [{'name': 'maas-users'}]}, 'priority': 0}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-12T09:01:53Z', 'message': 'all 1 model references are invalid or unavailable', 'observedGeneration': 1, 'reason': 'ReconcileFailed', 'status': 'False', 'type': 'Ready'}], 'modelRefStatuses': [{'message': 'HTTPRoute not found yet; TokenRateLimitPolicy cannot be created: HTTPRoute not found yet: for LLMInferenceService e2e-authz-model-e1892451 in namespace llm', 'name': 'e2e-authz-model-e1892451', 'namespace': 'llm', 'ready': False, 'reason': 'NotFound'}], 'phase': 'Failed', 'tokenRateLimitStatuses': [{'message': 'HTTPRoute not found yet; TokenRateLimitPolicy cannot be created: HTTPRoute not found yet: for LLMInferenceService e2e-authz-model-e1892451 in namespace llm', 'model': 'e2e-authz-model-e1892451', 'name': 'maas-trlp-e2e-authz-model-e1892451', 'namespace': 'llm', 'ready': False, 'reason': 'BackendNotReady'}]}} [ocp_resources MaaSSubscription] 2026-07-12T09:01:54.063117Z [info ] Wait until MaaSSubscription e2e-oidc-sub-96b17a21 is deleted [ocp_resources MaaSSubscription] 2026-07-12T09:01:54.063291Z [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-12T09:01:55.092428Z [info ] Elapsed time: 1.013275384902954 [0:00:01.013275] [timeout_sampler] 2026-07-12T09:01:55.092593Z [info ] Delete MaaSModelRef e2e-authz-model-e1892451 [ocp_resources MaaSModelRef] 2026-07-12T09:01:55.123604Z [info ] Deleting {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'kind': 'MaaSModelRef', 'metadata': {'creationTimestamp': '2026-07-12T09:01:53Z', 'finalizers': ['maas.opendatahub.io/model-cleanup'], 'generation': 1, 'managedFields': [{'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:modelRef': {'.': {}, 'f:kind': {}, 'f:name': {}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2026-07-12T09:01:53Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"maas.opendatahub.io/model-cleanup"': {}}}}, 'manager': 'manager', 'operation': 'Update', 'time': '2026-07-12T09:01:53Z'}, {'apiVersion': 'maas.opendatahub.io/v1alpha1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:status': {'.': {}, 'f:conditions': {}, 'f:phase': {}}}, 'manager': 'manager', 'operation': 'Update', 'subresource': 'status', 'time': '2026-07-12T09:01:53Z'}], 'name': 'e2e-authz-model-e1892451', 'namespace': 'llm', 'resourceVersion': '256815465', 'uid': '2b4ccd29-1fc9-4f16-ab73-a660f2936f23'}, 'spec': {'modelRef': {'kind': 'LLMInferenceService', 'name': 'e2e-authz-model-e1892451'}}, 'status': {'conditions': [{'lastTransitionTime': '2026-07-12T09:01:53Z', 'message': 'Waiting for HTTPRoute to be created', 'observedGeneration': 1, 'reason': 'BackendNotReady', 'status': 'False', 'type': 'Ready'}], 'phase': 'Pending'}} [ocp_resources MaaSModelRef] 2026-07-12T09:01:55.141786Z [info ] Wait until MaaSModelRef e2e-authz-model-e1892451 is deleted [ocp_resources MaaSModelRef] 2026-07-12T09:01:55.142193Z [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-12T09:01:56.172097Z [info ] Elapsed time: 1.014247179031372 [0:00:01.014247] [timeout_sampler] 2026-07-12T09:01:56.185025Z [info ] Delete Project llm  [ocp_resources Project] 2026-07-12T09:01:56.225266Z [info ] Deleting {'kind': 'Project', 'apiVersion': 'project.openshift.io/v1', 'metadata': {'name': 'llm', 'uid': '71114ba2-ff21-47d5-a8d0-cb42d504627e', 'resourceVersion': '256815446', 'creationTimestamp': '2026-07-12T09:01:53Z', 'labels': {'kubernetes.io/metadata.name': 'llm', 'pod-security.kubernetes.io/audit': 'restricted', 'pod-security.kubernetes.io/audit-version': 'latest', 'pod-security.kubernetes.io/enforce': 'restricted', 'pod-security.kubernetes.io/enforce-version': 'latest', 'pod-security.kubernetes.io/warn': 'restricted', 'pod-security.kubernetes.io/warn-version': 'latest'}, 'annotations': {'openshift.io/description': '', 'openshift.io/display-name': '', 'openshift.io/requester': 'odh-user1', 'openshift.io/sa.scc.mcs': 's0:c33,c17', 'openshift.io/sa.scc.supplemental-groups': '1001090000/10000', 'openshift.io/sa.scc.uid-range': '1001090000/10000', 'security.openshift.io/MinimallySufficientPodSecurityStandard': 'restricted'}, 'managedFields': [{'manager': 'pod-security-admission-label-synchronization-controller', 'operation': 'Apply', 'apiVersion': 'v1', 'time': '2026-07-12T09:01:53Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:security.openshift.io/MinimallySufficientPodSecurityStandard': {}}, 'f:labels': {'f:pod-security.kubernetes.io/audit': {}, 'f:pod-security.kubernetes.io/audit-version': {}, 'f:pod-security.kubernetes.io/enforce': {}, 'f:pod-security.kubernetes.io/enforce-version': {}, 'f:pod-security.kubernetes.io/warn': {}, 'f:pod-security.kubernetes.io/warn-version': {}}}}}, {'manager': 'cluster-policy-controller', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-12T09:01:53Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'f:openshift.io/sa.scc.mcs': {}, 'f:openshift.io/sa.scc.supplemental-groups': {}, 'f:openshift.io/sa.scc.uid-range': {}}}}}, {'manager': 'openshift-apiserver', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-12T09:01:53Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:annotations': {'.': {}, 'f:openshift.io/description': {}, 'f:openshift.io/display-name': {}, 'f:openshift.io/requester': {}}, 'f:labels': {'.': {}, 'f:kubernetes.io/metadata.name': {}}}}}, {'manager': 'openshift-controller-manager', 'operation': 'Update', 'apiVersion': 'v1', 'time': '2026-07-12T09:01:53Z', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'f:finalizers': {}}}, 'subresource': 'finalize'}]}, 'spec': {'finalizers': ['kubernetes']}, 'status': {'phase': 'Active'}} [ocp_resources Project] 2026-07-12T09:01:56.247749Z [info ] Wait until Project llm is deleted [ocp_resources Project] 2026-07-12T09:01:56.247930Z [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-12T09:02:05.430332Z [info ] Elapsed time: 9.16478419303894 [0:00:09.164784] [timeout_sampler] 2026-07-12T09:02:05.432163Z [info ] ResourceEdits: Restoring data for resource Service authorino-authorino-authorization [ocp_resources.resource] 2026-07-12T09:02:05.432397Z [info ] Update Service authorino-authorino-authorization: {'metadata': {'annotations': {}, 'name': 'authorino-authorino-authorization'}} [ocp_resources Service] 2026-07-12T09:02:05.449729Z [info ] ResourceEdits: Restoring data for resource Deployment authorino [ocp_resources.resource] 2026-07-12T09:02:05.449900Z [info ] Update Deployment authorino: {'spec': {'template': {'spec': {'containers': [{'name': 'authorino', 'image': 'registry.redhat.io/rhcl-1/authorino-rhel9@sha256:eaadd50c0e4938926e50283a5f3e3b5f1dd24d820a3a2c7434153080180cc95a', 'args': ['--allow-superseding-host-subsets', '--tls-cert=/etc/ssl/certs/tls.crt', '--tls-cert-key=/etc/ssl/private/tls.key'], 'env': [{'name': 'SSL_CERT_FILE', 'value': '/etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt'}, {'name': 'REQUESTS_CA_BUNDLE', 'value': '/etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt'}], 'resources': {}, 'volumeMounts': [{'name': 'tls-cert', 'readOnly': True, 'mountPath': '/etc/ssl/certs/tls.crt', 'subPath': 'tls.crt'}, {'name': 'tls-cert', 'readOnly': True, 'mountPath': '/etc/ssl/private/tls.key', 'subPath': 'tls.key'}], 'terminationMessagePath': '/dev/termination-log', 'terminationMessagePolicy': 'File', 'imagePullPolicy': 'Always'}]}}}, 'metadata': {'name': 'authorino'}} [ocp_resources Deployment] 2026-07-12T09:02:05.472024Z [info ] ResourceEdits: Restoring data for resource Authorino authorino [ocp_resources.resource] 2026-07-12T09:02:05.472238Z [info ] Update Authorino authorino: {'spec': {'listener': {'tls': {'certSecretRef': {}}}}, 'metadata': {'name': 'authorino'}} [ocp_resources Authorino] 2026-07-12T09:02:05.492335Z [info ] Wait for Deployment/authorino's 'Available' condition to be 'True' [ocp_resources Deployment] 2026-07-12T09:02:05.492491Z [info ] Wait until Deployment authorino is created [ocp_resources Deployment] 2026-07-12T09:02:05.492632Z [info ] Waiting for 120 seconds [0:02:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:02:05.505607Z [info ] Elapsed time: 4.553794860839844e-05 [0:00:00.000046] [timeout_sampler] 2026-07-12T09:02:05.505774Z [info ] Waiting for 119.98670673370361 seconds [0:01:59.986707], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:02:05.521474Z [info ] Elapsed time: 3.9577484130859375e-05 [0:00:00.000040] [timeout_sampler] 2026-07-12T09:02:05.519883Z [info ] authorino_tls_configured: TLS configuration removed, rollout complete [conftest] name=conftest 2026-07-12T09:02:05.521791Z [info ] ResourceEdits: Restoring data for resource DataScienceCluster default-dsc [ocp_resources.resource] 2026-07-12T09:02:05.521922Z [info ] Update DataScienceCluster default-dsc: {'spec': {'components': {'kserve': {'modelsAsService': {}}}}, 'metadata': {'name': 'default-dsc'}} [ocp_resources DataScienceCluster] 2026-07-12T09:02:05.572484Z [info ] Wait for DataScienceCluster/default-dsc's 'Ready' condition to be 'True' [ocp_resources DataScienceCluster] 2026-07-12T09:02:05.572645Z [info ] Wait until DataScienceCluster default-dsc is created [ocp_resources DataScienceCluster] 2026-07-12T09:02:05.572776Z [info ] Waiting for 600 seconds [0:10:00], retry every 1 seconds. (Function: ocp_resources.resource.wait.lambda: self.exists) [timeout_sampler] 2026-07-12T09:02:05.590798Z [info ] Elapsed time: 4.00543212890625e-05 [0:00:00.000040] [timeout_sampler] 2026-07-12T09:02:05.590968Z [info ] Waiting for 599.9815769195557 seconds [0:09:59.981577], retry every 1 seconds. (Function: ocp_resources.resource.wait_for_condition.lambda: self.instance) [timeout_sampler] 2026-07-12T09:02:05.608345Z [info ] Elapsed time: 3.743171691894531e-05 [0:00:00.000037] [timeout_sampler] 2026-07-12T09:02:05.608527Z [info ] ResourceEdits: Restoring data for resource Gateway maas-default-gateway [ocp_resources.resource] 2026-07-12T09:02:05.608674Z [info ] Update Gateway maas-default-gateway: {'metadata': {'annotations': {}, 'name': 'maas-default-gateway'}} [ocp_resources Gateway] _ 20 of 20 completed, 7 Pass, 1 Fail, 12 Skip, 0 XPass, 0 XFail, 0 Error, 0 ReRun _ = 1 failed, 7 passed, 12 skipped, 155 deselected, 221 warnings in 90.86s (0:01:30) = =================================== FAILURES =================================== __ TestAITenantTenantSetup.test_aitenant_bootstrap_creates_tenant_environment __ Traceback (most recent call last): File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 361, in from_call result: TResult | None = func() ~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 250, in lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/runner.py", line 184, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 1707, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/odh/opendatahub-tests/.venv/lib64/python3.14/site-packages/_pytest/python.py", line 167, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py", line 41, in test_aitenant_bootstrap_creates_tenant_environment verify_aitenant_bootstrap_children( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ admin_client=admin_client, ^^^^^^^^^^^^^^^^^^^^^^^^^^ test_context=aitenant_for_test, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/odh/opendatahub-tests/tests/model_serving/maas_billing/multitenancy/aitenant/utils.py", line 323, in verify_aitenant_bootstrap_children assert tenant_gateway_ref.name == MAAS_GATEWAY_NAME, ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Tenant gatewayRef.name expected 'maas-default-gateway', got 'e2e-aigw-497fc5d1' =============================== warnings summary =============================== tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_envoy_filter.py: 8 warnings tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_pre_auth_inference.py: 14 warnings tests/model_serving/maas_billing/body_base_routing/pre_auth_model_header/test_bbr_setup.py: 7 warnings tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py: 139 warnings tests/model_serving/maas_billing/oidc_tests/test_oidc_token_flow.py: 53 warnings /workspace/tests-shared/tests-payload/.tools/python/urllib3/connectionpool.py:1110: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.ods-qe-psi-23.osp.rh-ods.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/maas_billing-smoke.xml - =========================== short test summary info ============================ FAILED tests/model_serving/maas_billing/multitenancy/aitenant/test_tenant_setup.py::TestAITenantTenantSetup::test_aitenant_bootstrap_creates_tenant_environment - AssertionError: Tenant gatewayRef.name expected 'maas-default-gateway', got 'e2e-aigw-497fc5d1' = 1 failed, 7 passed, 12 skipped, 155 deselected, 221 warnings in 90.86s (0:01:30) =